[ 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 g...@github.com: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]. h2. JDT or IvyDE issue? The issue was also reported [here|https://github.com/eclipse-jdt/eclipse.jdt.core/issues/130] because I'm not sure if this is JDT or IvyDE issue. 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 g...@github.com: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]. > 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 g...@github.com: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]. > h2. JDT or IvyDE issue? > The issue was also reported > [here|https://github.com/eclipse-jdt/eclipse.jdt.core/issues/130] because I'm > not sure if this is JDT or IvyDE issue. -- This message was sent by Atlassian Jira (v8.20.7#820007)