Login  Register

Dealing with the outdated java3d libraires on Mac

Posted by rthur on Mar 12, 2014; 12:57pm
URL: https://forum.jogamp.org/Dealing-with-the-outdated-java3d-libraires-on-Mac-tp4031866.html

Hi everyone,

We've been testing our application out on mac, unfortunately it tends to fail as an old version of Java3D is present in the java extensions directory, and these libraries are loaded before the ones packaged in our fat jar.

Does anyone know of any solution to this (aside from running java with -Djava.ext.dirs="")?

We've attempted to user our own class loader, and the classes load correctly but the libraries in the extensions directory interfere once again, and we end up with the following error:
Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: (class: javax/media/j3d/Canvas3D, method: <init> signature: (Ljava/awt/GraphicsConfiguration;Z)V) Bad type in putfield/putstatic
	at org.tim32.seg.gui.RunwayDisplay3D.<init>(RunwayDisplay3D.java:47)
	at org.tim32.seg.gui.MainFrame.init(MainFrame.java:79)
	at org.tim32.seg.Main$1.run(Main.java:61)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:694)
	at java.awt.EventQueue$3.run(EventQueue.java:692)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Cheers,

Arthur