[ 
https://issues.apache.org/jira/browse/NETBEANSINFRA-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17476817#comment-17476817
 ] 

Eric Bresie commented on NETBEANSINFRA-262:
-------------------------------------------


On Fri, Jan 14, 2022 at 11:19 PM Jaroslav Tulach <[email protected]> 
wrote:
FYI: https://github.com/apache/netbeans/commit/1b96b56 & co.

It gets interpreted by the NetBeans runtime system.
-jt


čt 13. 1. 2022 v 21:30 odesílatel Jean-Marc Borer <[email protected]>
napsal:

>
> 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 <[email protected]> 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 <
> > [email protected]> wrote:
> >
> >> 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.
> >>
> >> Matthias


> Class-Path manifest entry not properly URL decoded 
> ---------------------------------------------------
>
>                 Key: NETBEANSINFRA-262
>                 URL: https://issues.apache.org/jira/browse/NETBEANSINFRA-262
>             Project: Apache NetBeans Infra
>          Issue Type: Bug
>          Components: MU - Apache NetBeans NBM maven plugin
>    Affects Versions: NBM Maven Plugin 4.6
>            Reporter: Jean-Marc Borer
>            Priority: Major
>
> Compilation of NB RCP apps lead to 
> 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
> since 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]
>  
> ${java.home} is now URL encoded in the manifest. According to 
> [https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#classpath]
> Every Class-Path are URLs and as such should be decoded accordingly and 
> therefore the class CreateClusterAppMojo should be fixed:
> lines 376 shall become:
>       try 
>       {
>            classPath = URLDecoder.decode(ex.getClasspath(), "UTF-8");
>        } catch (UnsupportedEncodingException exception) 
>        {
>            throw new IllegalStateException(exception);
>        }
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to