USA
Joined: May 19, 2012
Post Count: 5
Status:
Offline
Running in Netbeans; a couple of problems
I'm trying to run SW3D in Netbeans, mainly so I can play with the UI a bit (e.g. change the frame rate of the generated videos). I've hit two problems, one of which I worked around:
1) I set up the source tree, and added the libraries in the lib/ directory, but was still getting lots of missing class errors (all in the package javax.jnlp). Then, I tried adding the library libtest/jnlp.jar, and (almost) all the errors in the main source packages went away (there were still errors in the test packages, which went away when I linked in the rest of the libraries in libtest/). I'd expect libraries in libtest/ to be needed for the test classes, but not the main; perhaps jnlp.jar should be moved to the lib/ directory.
2) The remaining error is in com.eteks.sweethome3d.j3d.Canvas3DManager, which uses the undefined methods javax.media.j3d.VirtualUniverse.removeRenderingErrorListener and javax.media.j3d.VirtualUniverse.addRenderingErrorListener. Perhaps this depends on a later version of javax.media.j3d.VirtualUniverse than I have? (I'm using OS X 10.6.8; "java -version" prints the following:
java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-10M3635) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)
France
Joined: Nov 7, 2005
Post Count: 9423
Status:
Offline
Re: Running in Netbeans; a couple of problems
As indicated in the README.TXT file you have to set java.library.path property to lib:lib/macosx
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
USA
Joined: May 19, 2012
Post Count: 5
Status:
Offline
Re: Running in Netbeans; a couple of problems
I've already added the libraries individually. I just tried adding "-Djava.ext.dirs=lib:lib/macosx" (no quotes) to the Netbeans project's Run/VM Options value, but I still get the same error (even after restarting Netbeans).
The error is kind of strange, since everything else is present, including the javax.media.j3d.RenderingErrorListener class, which (AFAIK) is only used by the apparently missing method.
I threw in a piece of code at the beginning of the com.eteks.sweethome3d.SweetHome3D.main() method:
Properties p = System.getProperties(); Enumeration keys = p.keys(); while (keys.hasMoreElements()) { String key = (String)keys.nextElement(); String value = (String)p.get(key); System.out.println(key + ": " + value); }
and then ran, and got the following output:
Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar java.runtime.name: Java(TM) SE Runtime Environment sun.boot.library.path: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries java.vm.version: 20.6-b01-415 awt.nativeDoubleBuffering: true gopherProxySet: false mrj.build: 10M3635 java.vm.vendor: Apple Inc. java.vendor.url: http://www.apple.com/ path.separator: : java.vm.name: Java HotSpot(TM) 64-Bit Server VM file.encoding.pkg: sun.io sun.java.launcher: SUN_STANDARD user.country: US sun.os.patch.level: unknown java.vm.specification.name: Java Virtual Machine Specification user.dir: /Users/griscom/Documents/Projects/Random/SweetHome3D java.runtime.version: 1.6.0_31-b04-415-10M3635 java.awt.graphicsenv: apple.awt.CGraphicsEnvironment java.endorsed.dirs: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/endorsed os.arch: x86_64 java.io.tmpdir: /var/folders/0n/0nlYD3RaGQy+7gJ8C72wKk+++TI/-Tmp-/ line.separator:
java.vm.specification.vendor: Sun Microsystems Inc. os.name: Mac OS X sun.jnu.encoding: MacRoman java.library.path: .:/Users/griscom/Library/Java/Extensions:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java java.specification.name: Java Platform API Specification java.class.version: 50.0 sun.management.compiler: HotSpot 64-Bit Tiered Compilers os.version: 10.6.8 http.nonProxyHosts: local|*.local|169.254/16|*.169.254/16 user.home: /Users/griscom user.timezone: java.awt.printerjob: apple.awt.CPrinterJob file.encoding: UTF-8 java.specification.version: 1.6 java.class.path: /Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/batik-svgpathparser-1.7.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/freehep-vectorgraphics-svg-2.1.1.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/iText-2.1.7.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/j3dcore.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/j3dutils.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/jmf.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/Loader3DS1_2u.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/sunflow-0.07.3g.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/lib/vecmath.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/libtest/abbot.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/libtest/AppleJavaExtensions.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/libtest/gnu-regexp-1.1.0.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/libtest/jdepend-2.9.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/libtest/jdom-1.0.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/libtest/jnlp.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/SweetHome3D-3.5-src/libtest/profile.jar :/Users/griscom/Documents/Projects/Random/SweetHome3D/build/classes user.name: griscom java.vm.specification.version: 1.0 sun.java.command: com.eteks.sweethome3d.SweetHome3D java.home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home sun.arch.data.model: 64 user.language: en java.specification.vendor: Sun Microsystems Inc. awt.toolkit: apple.awt.CToolkit java.vm.info: mixed mode java.version: 1.6.0_31 java.ext.dirs: lib:lib/macosx sun.boot.class.path: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar :/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar :/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar :/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar :/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar :/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar java.vendor: Apple Inc. file.separator: / java.vendor.url.bug: http://bugreport.apple.com/ sun.io.unicode.encoding: UnicodeLittle sun.cpu.endian: little mrj.version: 1060.1.6.0_31-415 socksNonProxyHosts: local|*.local|169.254/16|*.169.254/16 ftp.nonProxyHosts: local|*.local|169.254/16|*.169.254/16 sun.cpu.isalist: Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at javax.media.j3d.Pipeline$1.run(Pipeline.java:162) at java.security.AccessController.doPrivileged(Native Method) at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:157) at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:965) at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299) at javax.media.j3d.GraphicsConfigTemplate3D.getBestConfiguration(GraphicsConfigTemplate3D.java:321) at java.awt.GraphicsDevice.getBestConfiguration(GraphicsDevice.java:159) at com.eteks.sweethome3d.j3d.Component3DManager.<init>(Component3DManager.java:65) at com.eteks.sweethome3d.j3d.Component3DManager.getInstance(Component3DManager.java:100) at com.eteks.sweethome3d.SweetHome3D.addComponent3DRenderingErrorObserver(SweetHome3D.java:500) at com.eteks.sweethome3d.SweetHome3D.init(SweetHome3D.java:392) at com.eteks.sweethome3d.SweetHome3D.main(SweetHome3D.java:296) Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLCapabilitiesChooser at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 26 more
... any ideas?
Thanks, Dan
[Note from moderator: cut long lines in code section]
----------------------------------------
[Edit 1 times,
last edit by Puybaret at May 22, 2012, 8:12:36 AM]
France
Joined: Nov 7, 2005
Post Count: 9423
Status:
Offline
Re: Running in Netbeans; a couple of problems
The error you report means the java.ext.dirs property you set didn't work. You have to override the default folders order where extension libraries come from, otherwise Java 3D 1.3.1 installed by default in the system will be picked. Try to change the paths in java.ext.dirs by full paths.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
----------------------------------------
[Edit 1 times,
last edit by Puybaret at May 22, 2012, 10:50:08 AM]