[
https://issues.apache.org/jira/browse/IVYDE-394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Harri T. updated IVYDE-394:
---------------------------
Description:
h2. Issue description
The classes of IvyDE managed libraries are not exported into a runnable JAR
file when a project JRE System Library is JavaSE-17.
h2. Steps for reproducing the issue
# Clone [the project|https://github.com/haba713/eclipse-ivyde-export-issue]:
{{git clone [email protected]:haba713/eclipse-ivyde-export-issue.git}}
# Make sure that your Eclipse uses OpenJDK 17 and has IvyDE installed.
# Import the cloned project into Eclipse workspace.
# Right-click the class {{src/com.example/Main.java}} in the project tree and
choose Run as → Java Application. See the output: \{"key":"value"}
# Right-click the project and choose Export → Java → Runnable JAR file.
# Choose the launch configuration created on the step 4 above and choose also
Library handling: ◉ Extract required libraries into generated JAR. Click Finish.
# Try to run the generated JAR file:
{code:java}
$ java -jar eclipse-ivyde-export-issue.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
at com.example.Main.main(Main.java:8)
Caused by: java.lang.ClassNotFoundException: org.json.JSONObject
at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 1 more{code}
The class {{org.json.JSONObject}} and other JSON classes are not included in
the JAR file even though the library is listed in the [Ivy
dependencies|https://github.com/haba713/eclipse-ivyde-export-issue/blob/master/ivy.xml].
h2. Workaround: Use JRE System Library 1.8 instead
Add OpenJDK 8 to Eclipse and change Java Build Path → Libraries → JRE System
Library to JavaSE-1.8. After that the IvyDE managed libraries are included in
the runnable JAR file when it's generated again.
See [this
commit|https://github.com/haba713/eclipse-ivyde-export-issue/commit/1789bb9e5a583bb1b0baa0481c8ea6e0481ef421].
was:
h2. Issue description
The classes of IvyDE managed libraries are not exported into a runnable JAR
file when a project JRE System Library is JavaSE-17.
h2. Steps for reproducing the issue
# Clone [the project|https://github.com/haba713/eclipse-ivyde-export-issue]:
{{git clone [email protected]:haba713/eclipse-ivyde-export-issue.git}}
# Make sure that your Eclipse uses OpenJDK 17 and has IvyDE installed.
# Import the cloned project into Eclipse workspace.
# Right-click the class {{src/com.example/Main.java}} in the project tree and
choose Run as → Java Application. See the output: {{{}{"key":"value"}{}}}.
# Right-click the project and choose Export → Java → Runnable JAR file.
# Choose the launch configuration created on the step 4 above and choose also
Library handling: ◉ Extract required libraries into generated JAR. Click Finish.
# Try to run the generated JAR file:
$ java -jar eclipse-ivyde-export-issue.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
at com.example.Main.main(Main.java:8)
Caused by: java.lang.ClassNotFoundException: org.json.JSONObject
at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 1 more{{}}
The class {{org.json.JSONObject}} and other JSON classes are not included in
the JAR file even though the library is listed in the [Ivy
dependencies|https://github.com/haba713/eclipse-ivyde-export-issue/blob/master/ivy.xml].
h2. Workaround: Use JRE System Library 1.8 instead
Add OpenJDK 8 to Eclipse and change Java Build Path → Libraries → JRE System
Library to JavaSE-1.8. After that
the IvyDE managed libraries are included in the runnable JAR file when it's
generated again.
See [this
commit|https://github.com/haba713/eclipse-ivyde-export-issue/commit/1789bb9e5a583bb1b0baa0481c8ea6e0481ef421].
> IvyDE managed libraries not exported
> ------------------------------------
>
> Key: IVYDE-394
> URL: https://issues.apache.org/jira/browse/IVYDE-394
> Project: IvyDE
> Issue Type: Bug
> Affects Versions: 2.2.0.final
> Environment: * Eclipse 2022-06 M2 (4.24.0 M2)
> * IvyDE 2.2.0.final-201311091524-RELEASE
> * OpenJDK 17.0.3+7-Debian-1deb11u1
> * Debian GNU/Linux 11 (Bullseye)
> Reporter: Harri T.
> Priority: Major
>
> h2. Issue description
> The classes of IvyDE managed libraries are not exported into a runnable JAR
> file when a project JRE System Library is JavaSE-17.
> h2. Steps for reproducing the issue
> # Clone [the project|https://github.com/haba713/eclipse-ivyde-export-issue]:
> {{git clone [email protected]:haba713/eclipse-ivyde-export-issue.git}}
> # Make sure that your Eclipse uses OpenJDK 17 and has IvyDE installed.
> # Import the cloned project into Eclipse workspace.
> # Right-click the class {{src/com.example/Main.java}} in the project tree
> and choose Run as → Java Application. See the output: \{"key":"value"}
> # Right-click the project and choose Export → Java → Runnable JAR file.
> # Choose the launch configuration created on the step 4 above and choose
> also Library handling: ◉ Extract required libraries into generated JAR. Click
> Finish.
> # Try to run the generated JAR file:
> {code:java}
> $ java -jar eclipse-ivyde-export-issue.jar
> Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
> at com.example.Main.main(Main.java:8)
> Caused by: java.lang.ClassNotFoundException: org.json.JSONObject
> at
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
> at
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
> ... 1 more{code}
> The class {{org.json.JSONObject}} and other JSON classes are not included in
> the JAR file even though the library is listed in the [Ivy
> dependencies|https://github.com/haba713/eclipse-ivyde-export-issue/blob/master/ivy.xml].
> h2. Workaround: Use JRE System Library 1.8 instead
> Add OpenJDK 8 to Eclipse and change Java Build Path → Libraries → JRE System
> Library to JavaSE-1.8. After that the IvyDE managed libraries are included in
> the runnable JAR file when it's generated again.
> See [this
> commit|https://github.com/haba713/eclipse-ivyde-export-issue/commit/1789bb9e5a583bb1b0baa0481c8ea6e0481ef421].
--
This message was sent by Atlassian Jira
(v8.20.7#820007)