Login  Register

Java3D cannot parse Java versions that are not numerical

Posted by runiter on Jun 26, 2020; 4:17am
URL: https://forum.jogamp.org/Java3D-cannot-parse-Java-versions-that-are-not-numerical-tp4040723.html

I had Java3d running fine in Java 14.
But I had to upgrade the Java version to version 15 (early release) because of a bug in Java 14 which is only fixed in Java 15.

But looks like Java3D cannot parse early release versions of Java!
I get this exception:

Exception in thread "Thread-10" java.lang.ExceptionInInitializerError
        at j3dcore/org.jogamp.java3d.GraphicsConfigTemplate3D.getBestConfiguration(GraphicsConfigTemplate3D.java:317)
        at java.desktop/java.awt.GraphicsDevice.getBestConfiguration(GraphicsDevice.java:205)
        at j3dutils/org.jogamp.java3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:224)
        at j3dutils/org.jogamp.java3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:192)
        at GraphingCalculator3D/runiter.grapher.math.Sheet.getCanvas(Sheet.java:483)
        at GraphingCalculator3D/runiter.grapher.MainApplication.lambda$start$3(MainApplication.java:124)
        at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: java.lang.NumberFormatException: For input string: "15-ea"
        at j3dcore/org.jogamp.java3d.Pipeline$PipelineCreator.run(Pipeline.java:88)
        at j3dcore/org.jogamp.java3d.Pipeline$PipelineCreator.run(Pipeline.java:68)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
        at j3dcore/org.jogamp.java3d.Pipeline.createPipeline(Pipeline.java:100)
        at j3dcore/org.jogamp.java3d.MasterControl.loadLibraries(MasterControl.java:888)
        at j3dcore/org.jogamp.java3d.VirtualUniverse.<clinit>(VirtualUniverse.java:266)
        ... 7 more
Caused by: java.lang.NumberFormatException: For input string: "15-ea"
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
        at java.base/java.lang.Integer.parseInt(Integer.java:652)
        at java.base/java.lang.Integer.parseInt(Integer.java:770)
        at j3dcore/org.jogamp.java3d.JoglPipeline.getVersion(JoglPipeline.java:9040)
        at j3dcore/org.jogamp.java3d.JoglPipeline.<init>(JoglPipeline.java:117)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
        at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350)
        at java.base/java.lang.Class.newInstance(Class.java:645)
        at j3dcore/org.jogamp.java3d.Pipeline$PipelineCreator.run(Pipeline.java:81)
        ... 12 more
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D