https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#classpath

But still, it is a very special case here since I have never seen URL such
as "%24%7Bjava.home%7D%2F/lib/ext/jfxrt.jar". ${xxx} is a dynamic value
that shall be replaced at runtime. I really wonder if the manifest gets
properly interpreted with such a construction.

On Thu, Jan 13, 2022 at 8:25 PM Jean-Marc Borer <jmbo...@gmail.com> wrote:

> True. Then the issue lies in the maven nbm plugin that doesn't understand
> the URL escaping.
>
> I tested by manually modifying the manifest to restore the old values. The
> warning message is gone.
>
> On Thu, Jan 13, 2022 at 7:04 PM Matthias Bläsing <
> mblaes...@doppel-helix.eu> wrote:
>
>> Hi,
>>
>> Am Donnerstag, dem 13.01.2022 um 17:54 +0000 schrieb Jean-Marc Borer:
>> > When building my NB RCP application with Maven, I get:
>> >
>> > Could not resolve Class-Path item in
>> > org.netbeans.api:org-netbeans-libs-javafx:nbm-file:RELEASE124, path
>> > is:%24%7Bjava.home%7D/lib/ext/jfxrt.jar, skipping
>> >
>> > I checked the manifest of module org-netbeans-libs-javafx.jar
>> > And actually I found:
>> > ....
>> > OpenIDE-Module-Requires: org.openide.modules.ModuleFormat1
>> > Class-Path: %24%7Bjava.home%7D/lib/ext/jfxrt.jar
>> >
>> > Which is an url encoded string of ${java.hom}/lib/ext/jfxrt.jar
>> >
>> > I build on zulu8.58.0.13-ca-fx-jdk8.0.312-win_x64\jre\lib\ext
>> > where jfxrt.jar exists... and JFX works in the application later. Just
>> > wondering why such warning is generated.
>> >
>> > I suspect that the Maven checker is somehow not understanding properly
>> this
>> > classpath entry in the manifest.
>> >
>> > Any idea?
>>
>> The commit that changes this is here:
>>
>>
>> https://github.com/apache/netbeans/commit/1b96b56ac3bfda8bd9b97f36c25901e84289cb23
>>
>> And is part of this:
>>
>> https://github.com/apache/netbeans/pull/2761
>>
>> The TL;DR version is (if I remember correctly): the JAR File
>> Specification says, that the Class-Path attribute is a list of URLs and
>> since javac 11 this is actually enforced.
>>
>> Try this:
>>
>>         new URI("%24%7Bjava.home%7D%2F/lib/ext/jfxrt.jar");
>>         new URI("${java.home}/lib/ext/jfxrt.jar");
>>
>> It blows for the second line.
>>
>> Hope that clears it up.
>>
>> Greetings
>>
>> Matthias
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
>> For additional commands, e-mail: dev-h...@netbeans.apache.org
>>
>> For further information about the NetBeans mailing lists, visit:
>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>
>>
>>
>>

Reply via email to