jpackage current status

Kevin Rushforth kevin.rushforth at oracle.com
Sat Feb 22 15:39:08 UTC 2020


The Failure to GetJREPath is due to JDK-8238225 [1]. Eclipse was 
specifically mentioned as being affected by this. It is already fixed in 
JDK 15.

-- Kevin

https://bugs.openjdk.java.net/browse/JDK-8238225


On 2/22/2020 7:32 AM, Michael Hall wrote:
>
>
>> On Feb 21, 2020, at 11:18 AM, Michael Hall <mik3hall at gmail.com 
>> <mailto:mik3hall at gmail.com>> wrote:
>>
>>
>>
>>> On Feb 21, 2020, at 11:12 AM, Kevin Rushforth 
>>> <kevin.rushforth at oracle.com <mailto:kevin.rushforth at oracle.com>> wrote:
>>>
>>> I doubt this has anything to do with jpackage being in incubator or 
>>> not. Fundamentally, just copying binary launchers into another JDK 
>>> image like you are doing is only going to work by accident, if it 
>>> works at all. If you need jpackage (or javac or jar or ...) to be in 
>>> a JDK image, then you should jlink it yourself, include all of the 
>>> modules you need, and don't strip the executables.
>>>
>>> -- Kevin
>>>
>>
>> I was doing that for applications going back to before jlink - 
>> application build tools have not handled this real consistently and 
>> often just strip. Possibly now you are correct. jpackage does use 
>> jlink though? So why would my own be better than what the tool does? 
>> I believe I showed the module is present in the runtime in use.
>> But again doing jlink separately might in this instance be the best 
>> practice. I will try it.
>
> Well this went a little wrong and is sort of getting messed up.
> I tried a jlink jre. The app froze (OS X) and had to be force quit.
> Left it at that for the time being.
> This morning Eclipse won’t start.
>
> Double clicking the app executable shows…
>
> /Users/mjh/java-2019-06/Eclipse.app/Contents/MacOS/eclipse ; exit;
> Error: could not find libjava.dylib
> Failed to GetJREPath()
>
> I tried falling back to the previous ea.
> java -version
> openjdk version "14-ea" 2020-03-17
>
> But same thing.
>
> Some searching seems to be showing this as the problem here…
> https://bugs.openjdk.java.net/browse/JDK-8213362
> For both versions. Current and earlier ea libjli.dylib appears to be 
> both in the lib and MacOS directories.
>
> I will probably try reinstalling Eclipse with the earlier ea in 
> JavaVirtualMachines. A setup that had been working.
>
> Just to mention something else a little off that needs working around 
> although I don’t think it should mess anything up. Some of these 
> commands are still not default available on OS X. No jpackage of 
> course, but no jlink either. jdeps is there but I don’t remember if I 
> added a link myself or not there.
>
> For jpackage and jlink I do this…
>
> PACKAGER=`/usr/libexec/java_home`/bin/jpackage
>
> ${PACKAGER} \
> --input ../HalfPipe12.app/Contents/Java \
> --icon GenericApp.icns \
>
> The entire jlink is…
> LINKER=`/usr/libexec/java_home`/bin/jlink
>
> ${LINKER}  --strip-debug --no-header-files --no-man-pages \
>  --bind-services \
>  --add-modules java.compiler,java.desktop,java.logging,java.management,java.prefs,java.se 
> <https://urldefense.com/v3/__http://java.se__;!!GqivPVa7Brio!LN8Jwr5g_1Q6p_o6Ji2du-gkN-xEns-PN8EhrZx95tLW1Cx8wJziaz3hHiZEIOnJfl_I$>,java.rmi,java.scripting,java.sql,java.xml,jdk.attach,jdk.jshell,jdk.crypto.ec,jdk.incubator.jpackage 
> \
>  --output runtime
>
> Trying to follow the defaults indicated for jpackage.
>
>



More information about the core-libs-dev mailing list