Harri T. created IVYDE-394: ------------------------------ Summary: 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.
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: $ 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]. -- This message was sent by Atlassian Jira (v8.20.7#820007)