Monday 15 March 2010

java - How to get Java3D to work in IntelliJ on OS X -



java - How to get Java3D to work in IntelliJ on OS X -

i computer science pupil , need java3d working on mac can mandatory assignments.

i utilize intellij ide , works great java , python. struggling create work java3d.

i've tried using google-fu no avail. coming here guidance. have tried multiple tutorials/guides, here have tried:

the code trying run http://www.java3d.org/starting.html

import com.sun.j3d.utils.universe.simpleuniverse; import com.sun.j3d.utils.geometry.colorcube; import javax.media.j3d.branchgroup; public class hello3d { public hello3d(){ simpleuniverse universe = new simpleuniverse(); branchgroup grouping = new branchgroup(); group.addchild(new colorcube(0.3)); universe.getviewingplatform().setnominalviewingtransform(); universe.addbranchgraph(group); } public static void main( string[] args ) { new hello3d(); } }

first thing tried installing java3d jar's , adding them dependencies: (i got them from: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#java3d-1.5.1-oth-jpr

but got error:

exception in thread "j3d-renderer-1" java.lang.noclassdeffounderror: apple/awt/componentmodel @ com.sun.opengl.impl.jawt_drawingsurface.getdrawingsurfaceinfo0(native method) @ com.sun.opengl.impl.jawt_drawingsurface.getdrawingsurfaceinfo(jawt_drawingsurface.java:56) @ com.sun.opengl.impl.macosx.macosxonscreengldrawable$1.run(macosxonscreengldrawable.java:165) @ java.security.accesscontroller.doprivileged(native method) @ com.sun.opengl.impl.macosx.macosxonscreengldrawable.locksurface(macosxonscreengldrawable.java:163) @ com.sun.opengl.impl.macosx.macosxonscreenglcontext.makecurrentimpl(macosxonscreenglcontext.java:57) @ com.sun.opengl.impl.glcontextimpl.makecurrent(glcontextimpl.java:134) @ javax.media.j3d.joglpipeline$querycanvas.doquery(joglpipeline.java:9049) @ javax.media.j3d.joglpipeline.getbestconfiguration(joglpipeline.java:8797) @ javax.media.j3d.renderer.dowork(renderer.java:514) @ javax.media.j3d.j3dthread.run(j3dthread.java:275) caused by: java.lang.classnotfoundexception: apple.awt.componentmodel @ java.net.urlclassloader$1.run(urlclassloader.java:372) @ java.net.urlclassloader$1.run(urlclassloader.java:361) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:360) @ java.lang.classloader.loadclass(classloader.java:424) @ java.lang.classloader.loadclass(classloader.java:357) ... 11 more

then learned java3d installed on mac , did same. added jars dependencies. got same error.

my lastly effort follow guide: http://gouessej.wordpress.com/2012/08/01/java-3d-est-de-retour-java-3d-is-back/

i downloaded jars, set them in same folder , added them dependencies. but, again, got same error.

now, might fault (i not sure if have add together them dependencies add together new jars, worked when added different kind of api's) or might more complex. of guys have encountered same issues , can help me.

thanks in advance.

edit: after trying gouessej said, got error:

javavm warning: jawt_getawt must called after loading jvm awt not found exception in thread "main" java.lang.noclassdeffounderror: apple/awt/cgraphicsdevice @ javax.media.j3d.graphicsconfigtemplate3d.<clinit>(graphicsconfigtemplate3d.java:55) @ com.sun.j3d.utils.universe.simpleuniverse.getpreferredconfiguration(simpleuniverse.java:368) @ com.sun.j3d.utils.universe.viewer.<init>(viewer.java:348) @ com.sun.j3d.utils.universe.viewer.<init>(viewer.java:298) @ com.sun.j3d.utils.universe.simpleuniverse.<init>(simpleuniverse.java:215) @ com.sun.j3d.utils.universe.simpleuniverse.<init>(simpleuniverse.java:177) @ com.sun.j3d.utils.universe.simpleuniverse.<init>(simpleuniverse.java:88) @ main.<init>(main.java:22) @ main.main(main.java:41) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:483) @ com.intellij.rt.execution.application.appmain.main(appmain.java:134) caused by: java.lang.classnotfoundexception: apple.awt.cgraphicsdevice @ java.net.urlclassloader$1.run(urlclassloader.java:372) @ java.net.urlclassloader$1.run(urlclassloader.java:361) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:360) @ java.lang.classloader.loadclass(classloader.java:424) @ java.lang.classloader.loadclass(classloader.java:357) ... 14 more

you haven't followed instructions, reply in the "troubleshooting" section. have uninstall obsolete version of java3d before installing new version. if don't it, jvm load in priority 1 dirtily copied or 1 installed extension, case under os x.

when done, install jogamp , java3d, follow instructions, it's straightforward. (as stated in tutorial), should rather inquire questions java3d on our official forum. jogamp contributors can't register everywhere, on reddit, here, ...

intellij allows set jars classpath, shouldn't difficult.

warning: switching java os x (apple jvm 1.6) bad solution because jre still pick obsolete version of java3d (1.5) if don't uninstall it, apple java deprecated, won't benefit of bug prepare included in java3d 1.6 , application won't work when apple java no longer supported @ operating system, illustration after upgrade. version of java3d compatible openjdk , oracle java 1.8 under os x java3d 1.6.0.

java osx intellij-idea java-3d

No comments:

Post a Comment