UnsatisfiedLinkError in Maven project

I just started using JME3, and tried to use IntelliJ (Maven). I got the following error:

/home/leo/.jdks/openjdk-15/bin/java -javaagent:/home/leo/idea-IC-202.7660.26/lib/idea_rt.jar=46179:/home/leo/idea-IC-202.7660.26/bin -Dfile.encoding=UTF-8 -classpath /home/leo/JMonkeyEngine/target/classes:/home/leo/.m2/repository/java3d/vecmath/1.3.1/vecmath-1.3.1.jar:/home/leo/.m2/repository/asm/asm-all/3.1/asm-all-3.1.jar:/home/leo/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar:/home/leo/.m2/repository/org/bushe/eventbus/1.3/eventbus-1.3.jar:/home/leo/.m2/repository/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-core/3.1.0-beta1/jme3-core-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-desktop/3.1.0-beta1/jme3-desktop-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-networking/3.1.0-beta1/jme3-networking-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-jbullet/3.1.0-beta1/jme3-jbullet-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-terrain/3.1.0-beta1/jme3-terrain-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-plugins/3.1.0-beta1/jme3-plugins-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-lwjgl/3.1.0-beta1/jme3-lwjgl-3.1.0-beta1.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl/2.9.3/lwjgl-2.9.3.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl-platform/2.9.3/lwjgl-platform-2.9.3-natives-windows.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl-platform/2.9.3/lwjgl-platform-2.9.3-natives-linux.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl-platform/2.9.3/lwjgl-platform-2.9.3-natives-osx.jar:/home/leo/.m2/repository/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home/leo/.m2/repository/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home/leo/.m2/repository/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar:/home/leo/.m2/repository/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar:/home/leo/.m2/repository/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-effects/3.1.0-beta1/jme3-effects-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-blender/3.1.0-beta1/jme3-blender-3.1.0-beta1.jar:/home/leo/.m2/repository/org/ejml/dense64/0.27/dense64-0.27.jar:/home/leo/.m2/repository/org/ejml/simple/0.27/simple-0.27.jar:/home/leo/.m2/repository/org/ejml/denseC64/0.27/denseC64-0.27.jar:/home/leo/.m2/repository/org/ejml/core/0.27/core-0.27.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-bullet-native/3.1.0-beta1/jme3-bullet-native-3.1.0-beta1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-bullet/3.1.0-beta1/jme3-bullet-3.1.0-beta1.jar jme3.helloworld.Main
Dec 19, 2020 8:18:30 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.1-beta1
 * Branch: HEAD
 * Git Hash: 310f4db
 * Build Date: 2016-04-25
Exception in thread "jME3 Main" java.lang.UnsatisfiedLinkError: /home/leo/JMonkeyEngine/liblwjgl64.so: /home/leo/.jdks/openjdk-15/lib/libjawt.so: version `SUNWprivate_1.1' not found (required by /home/leo/JMonkeyEngine/liblwjgl64.so)
	at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
	at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2407)
	at java.base/java.lang.Runtime.load0(Runtime.java:747)
	at java.base/java.lang.System.load(System.java:1857)
	at org.lwjgl.Sys$1.run(Sys.java:70)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
	at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
	at org.lwjgl.Sys.loadLibrary(Sys.java:87)
	at org.lwjgl.Sys.<clinit>(Sys.java:117)
	at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:210)
	at java.base/java.lang.Thread.run(Thread.java:832)

Process finished with exit code 0

This is my pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>jme3.helloworld</groupId>
    <artifactId>jme3-example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>JME3 maven project</name>

    <properties>
        <jme3.version>3.1.0-beta1</jme3.version>
        <maven.compiler.release>9</maven.compiler.release>
    </properties>

    <dependencies>

        <!-- https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet -->
        <dependency>
            <groupId>cz.advel.jbullet</groupId>
            <artifactId>jbullet</artifactId>
            <version>20101010</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.cogchar/ext.bundle.opengl.nifty -->
        <dependency>
            <groupId>org.cogchar</groupId>
            <artifactId>ext.bundle.opengl.nifty</artifactId>
            <version>1.0.9.1</version>
        </dependency>


        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-core</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-desktop</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-networking</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-jbullet</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-plugins</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-lwjgl</artifactId>
            <version>${jme3.version}</version>
        </dependency>


        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-effects</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-blender</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-bullet-native</artifactId>
            <version>${jme3.version}</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>bintray-jmonkeyengine-org.jmonkeyengine</id>
            <name>bintray</name>
            <url>http://dl.bintray.com/jmonkeyengine/org.jmonkeyengine</url>
        </repository>
    </repositories>

</project>

How do I fix this? Thanks.

Why not using the new JmonkeyEngine version 3.3.2-stable ? Because seems that the old version cannot find something in openJDK 15

Example of jme bare bone Gradle (it would be the same as Maven , no big differences ):

EDIT: Try changing version to the latest, otherwise it may be a problem with openJDK15 (I donot know) , because itā€™s related somehow to liblwjgl64)

Well, that doesnā€™t work:

/home/leo/.jdks/openjdk-15/bin/java -javaagent:/home/leo/idea-IC-202.7660.26/lib/idea_rt.jar=46567:/home/leo/idea-IC-202.7660.26/bin -Dfile.encoding=UTF-8 -classpath /home/leo/JMonkeyEngine Game/target/classes:/home/leo/.m2/repository/cz/advel/jbullet/jbullet/20101010/jbullet-20101010.jar:/home/leo/.m2/repository/java3d/vecmath/1.3.1/vecmath-1.3.1.jar:/home/leo/.m2/repository/asm/asm-all/3.1/asm-all-3.1.jar:/home/leo/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar:/home/leo/.m2/repository/org/cogchar/ext.bundle.opengl.nifty/1.0.9.1/ext.bundle.opengl.nifty-1.0.9.1.jar:/home/leo/.m2/repository/org/bushe/eventbus/1.3/eventbus-1.3.jar:/home/leo/.m2/repository/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-core/3.3.2-stable/jme3-core-3.3.2-stable.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-desktop/3.3.2-stable/jme3-desktop-3.3.2-stable.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-networking/3.3.2-stable/jme3-networking-3.3.2-stable.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-jbullet/3.3.2-stable/jme3-jbullet-3.3.2-stable.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-plugins/3.3.2-stable/jme3-plugins-3.3.2-stable.jar:/home/leo/.m2/repository/com/google/code/gson/gson/2.8.1/gson-2.8.1.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-lwjgl/3.3.2-stable/jme3-lwjgl-3.3.2-stable.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl/2.9.3/lwjgl-2.9.3.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl-platform/2.9.3/lwjgl-platform-2.9.3-natives-windows.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl-platform/2.9.3/lwjgl-platform-2.9.3-natives-linux.jar:/home/leo/.m2/repository/org/lwjgl/lwjgl/lwjgl-platform/2.9.3/lwjgl-platform-2.9.3-natives-osx.jar:/home/leo/.m2/repository/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home/leo/.m2/repository/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home/leo/.m2/repository/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar:/home/leo/.m2/repository/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows.jar:/home/leo/.m2/repository/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-effects/3.3.2-stable/jme3-effects-3.3.2-stable.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-blender/3.3.2-stable/jme3-blender-3.3.2-stable.jar:/home/leo/.m2/repository/org/ejml/core/0.27/core-0.27.jar:/home/leo/.m2/repository/org/ejml/dense64/0.27/dense64-0.27.jar:/home/leo/.m2/repository/org/ejml/simple/0.27/simple-0.27.jar:/home/leo/.m2/repository/org/ejml/denseC64/0.27/denseC64-0.27.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-bullet-native/3.3.2-stable/jme3-bullet-native-3.3.2-stable.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-bullet/3.3.2-stable/jme3-bullet-3.3.2-stable.jar:/home/leo/.m2/repository/org/jmonkeyengine/jme3-terrain/3.3.2-stable/jme3-terrain-3.3.2-stable.jar jme3.helloworld.Main
Dec 20, 2020 7:46:00 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.3.2-stable
 * Branch: HEAD
 * Git Hash: 1a05e3f
 * Build Date: 2020-04-27
Exception in thread "jME3 Main" java.lang.UnsatisfiedLinkError: /home/leo/JMonkeyEngine Game/liblwjgl64.so: /home/leo/.jdks/openjdk-15/lib/libjawt.so: version `SUNWprivate_1.1' not found (required by /home/leo/JMonkeyEngine Game/liblwjgl64.so)
	at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
	at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2407)
	at java.base/java.lang.Runtime.load0(Runtime.java:747)
	at java.base/java.lang.System.load(System.java:1857)
	at org.lwjgl.Sys$1.run(Sys.java:70)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
	at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
	at org.lwjgl.Sys.loadLibrary(Sys.java:87)
	at org.lwjgl.Sys.<clinit>(Sys.java:117)
	at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:212)
	at java.base/java.lang.Thread.run(Thread.java:832)

Process finished with exit code 0

My pom.xml right now:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>jme3.helloworld</groupId>
    <artifactId>jme3-example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>15</source>
                    <target>15</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <packaging>jar</packaging>

    <name>JME3 maven project</name>

    <properties>
        <jme3.version>3.3.2-stable</jme3.version>
        <maven.compiler.release>15</maven.compiler.release>
    </properties>

    <dependencies>

        <!-- https://mvnrepository.com/artifact/cz.advel.jbullet/jbullet -->
        <dependency>
            <groupId>cz.advel.jbullet</groupId>
            <artifactId>jbullet</artifactId>
            <version>20101010</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.cogchar/ext.bundle.opengl.nifty -->
        <dependency>
            <groupId>org.cogchar</groupId>
            <artifactId>ext.bundle.opengl.nifty</artifactId>
            <version>1.0.9.1</version>
        </dependency>


        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-core</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-desktop</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-networking</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-jbullet</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-plugins</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-lwjgl</artifactId>
            <version>${jme3.version}</version>
        </dependency>


        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-effects</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-blender</artifactId>
            <version>${jme3.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-bullet-native</artifactId>
            <version>${jme3.version}</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <id>bintray-jmonkeyengine-org.jmonkeyengine</id>
            <name>bintray</name>
            <url>http://dl.bintray.com/jmonkeyengine/org.jmonkeyengine</url>
        </repository>
    </repositories>

</project>

Some things to change:

  1. You currently have 3 different bullet libraries. Pick one, otherwise you WILL get errors. I would recommend Minie instead of any of the three in your POM.
  2. I recommend you remove Nifty, and jme3-blender. You will likely want to use lemur for your UI instead, it is a much better option. As for jme3-blender, that is no longer part of the engineā€™s master branch (although it must still exist in 3.3.2). jme3-blender is very outdated, and the current recommended workflow is to use gltf.
  3. I would recommend developing with JDK 11. It is the current stable release, and LTS of the jdk. As such, many of us are very familiar with it. I have not seen that linking error on linux using jdk 14, but I have not done any testing of lwjgl on jdk 15.
  4. I would recommend using jme3-lwjgl3 instead of jme3-lwjgl, especially if you want to use newer versions of java. jme3-lwjgl is based on lwjgl2, which has not been maintained for quite some time. lwjgl3 is currently actively maintained and has many bug fixes in it.

The POM I would recommend:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>jme3.helloworld</groupId>
    <artifactId>jme3-example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <packaging>jar</packaging>

    <name>JME3 maven project</name>

    <properties>
        <jme3.version>3.3.2-stable</jme3.version>
        <maven.compiler.release>11</maven.compiler.release>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-core</artifactId>
            <version>${jme3.version}</version>
        </dependency>
		
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-desktop</artifactId>
            <version>${jme3.version}</version>
        </dependency>

        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-plugins</artifactId>
            <version>${jme3.version}</version>
        </dependency>
		
        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-lwjgl3</artifactId>
            <version>${jme3.version}</version>
        </dependency>

        <dependency>
            <groupId>org.jmonkeyengine</groupId>
            <artifactId>jme3-effects</artifactId>
            <version>${jme3.version}</version>
        </dependency>

		<dependency>
			<groupId>com.github.stephengold</groupId>
			<artifactId>Minie</artifactId>
			<version>3.0.0+debug</version>
			<type>pom</type>
		</dependency>
		
		<dependency>
			<groupId>com.simsilica</groupId>
			<artifactId>lemur</artifactId>
			<version>1.14.0</version>
			<type>pom</type>
		</dependency>
		
		<dependency>
			<groupId>com.simsilica</groupId>
			<artifactId>lemur</artifactId>
			<version>1.14.0</version>
			<type>pom</type>
		</dependency>
		
		<dependency>
			<groupId>com.simsilica</groupId>
			<artifactId>lemur-proto</artifactId>
			<version>1.11.1</version>
			<type>pom</type>
		</dependency>
		
    </dependencies>
	
	<repositories>
        <repository>
            <id>bintray-jmonkeyengine-org.jmonkeyengine</id>
            <name>bintray</name>
            <url>http://dl.bintray.com/jmonkeyengine/org.jmonkeyengine</url>
        </repository>

        <repository>
            <id>bintray-minie</id>
            <name>bintray</name>
            <url>https://bintray.com/stephengold/com.github.stephengold/Minie</url>
        </repository>
    </repositories>

</project>
3 Likes

And as regards the particular error that you are getting: looks like jdk15 has finally removed some of the long deprecated, unofficial and never supported sun-specific implementation methods. Looks like the LWJGL2 library depends upon that private method to function, so ā€” as said above ā€” JDK15 will require use of LWJGL3.

2 Likes

That POM gives me the following error:

java: error reading /home/leo/.m2/repository/org/lwjgl/lwjgl/3.2.3/lwjgl-3.2.3.jar; zip END header not found

which doesnā€™t really explain what the problem is.

Looks like a corrupt download. May have to delete that file and let it try again.

I agree. That looks like a corrupt download. I have never seen maven mess up like that.

The same thing happens when I re-download it. It appears to be a html file though.

Not sure you have not already searched and found this.

If you have artifacts which contain html snippets this is an indicator that you are trying to download artifacts from repositories which do not exist anymore.

https://blog.soebes.de/blog/2018/10/13/maven-artifact-checksums-what/

https://www.google.com/search?channel=tus2&client=firefox-b-1-d&q=maven+zip+END+header+not+found

Or, possibly, that are inaccessible for other reasons, such as a proxy blocking/mis-configured, blocked by ISP, etc?

Either way, take a look at the settings in ~/.m2/settings.xml and make sure that all of the repositories (And mirrors) that you have configured are accessible.

Yes, like netbeans 1.8 used http for maven repo so that broke when they moved to https.

1 Like

And then consider removing them if you have repositories defined thereā€¦ put them in your poms instead.

From experience, this is a ā€œbad practiceā€ and even after 5-6 years on my day-job project, we still have some developer or some build environment that has ancient dead repos globally defined in settings.xml and causes random ā€˜why does it work here and not thereā€™ issues.

If by Netbeans 1.8 you mean Netbeans 8, it is a very good reason to use the SDK 3.3 instead of any earlier. Earlier SDKs are based on Netbeans 8 (or lower, depends how far down the history you go) and the latest SDK 3.3 is based on Netbeans 12. Just a note.

Welp, I canā€™t find settings.xml, only the ā€œrepositoriesā€ folder.

Then you donā€™t have any user settings. Check your global settings instead. Theyā€™ll be at $M2_HOME/conf/settings.xml, where $M2_HOME is wherever your Maven installation got plunked down.

I think you are being hit with the issue Iā€™ve been encountering with the SDK on Ubuntu:
Essentially LWJGL2 is linking against a too old libawt, those symbols arenā€™t there anymore on the native side.
Your professional error message (versus what we saw before: assertion in dlopen) seems like they fixed it on libc, but other versions did work regardless.

You can try to see if AdoptOpenJDK works, if not, lwjgl3 should work. I guess the other responses may still have their value, but I guess the base issue is lwjgl2 issues on linux (but bear in mind that lwjgl3 has itā€™s other host of issues)

1 Like

Most of the problem is due to jdk 15 - roll back to 11 (which is what I did) as 15 looks incompatible with jme3.x. You could try 14. ( I just tested 14 and it works with 14.0.2+12)

I had the problem running on the latest Eclipse, and found it was running with its own 15 jre. I set it up to use another one on my linux machine (11.0.6+10) and it was fine. 11 is the latest with LTS support so you could use that, or try with 14.

If you came here because of Eclipse, hereā€™s how to setup the project to use a different jvm to run your app (different to the jvm used to run eclipse) :
Right click on project and select Propertiesā€¦
Click on the Java Build Path on the right.
Select the libraries tab on the right
Select JRE System Library and click remove
Click Add Libraryā€¦
Select JRE System Library and click Next
Select Alternate JRE,
Click Installed JREs
Addā€¦
Standard VM
Select the home directory of the installation
And Click apply
Select your JRE in the Alternate JRE drop down
Finish
You should now have your new JRE showing up in the Build Path Libraries.

You can confirm the version being used to run your app by adding this to the first line of the main method.

System.out.println(Runtime.version());

Hope that helps the next fellow that comes across the problem.

Andy

1 Like

Iā€™m using intellij, gradle, java 14.0.2+12-46, and Iā€™m having the exact same problem. Werenā€™t you able to fix it? I tried most of this discussionā€™s replies and Iā€™m still blocked.

Can you share a stack trace from where your app fails?