java3d
Answered
Has anyone gotten intellij idea to work with java3d and jdk9?
Please sign in to leave a comment.
Maybe you could share a link to the sample project that doesn't work for you so that others can try it and possibly find the cause/workaround?
Hi Serge,
Here is a link to a web start application;
http://www.docjava.com/book/cgij/code/jnlp/j3d.examples.boids.Main.jnlp
As far as that goes, I think it will work if you have jdk8 installed...but, if you try to run it under jdk9, no joy.
With intellij, I use a very simple example;
This works ok under jdk1.8. with jdk1.9 I get:
so I used:
but that does not do anything that I can detect...
Thanks!
- Doug
Do you have /System/Library/Frameworks/JavaVM.framework/Libraries/libjawt.dylib file?
Maybe /Library/Java/Extensions/libjogl_awt.jnilib is referencing it with the hardcoded path on Mac?
For me it works on Windows just fine, I've copied j3dcore-ogl.dll into c:\Program Files\Java\jdk-9\bin\.
Maybe someone more familiar with Java3D on Mac will step in to help you.
/System/Library/Frameworks/JavaVM.framework has the contents:
ls
Frameworks@ JavaVM@ Resources@
Headers@ Modules@ Versions/
This gave me the idea that perhaps install should be to:
I'd try to copy libjawt.dylib file from Java 9 to /System/Library/Frameworks/JavaVM.framework/Libraries/,
cd /System/Library/Frameworks/JavaVM.framework/Libraries/
/System/Library/Frameworks/JavaVM.framework/Libraries/: No such file or directory.
Didn't the layout of Java change with jdk9 on the mac?
Thanks!
- Doug
Probably java3d expects the old layout, hence the problem. You can create this directory and copy the file there manually to make it happy.
Splendid idea. Bit of a hiccup;
pwd
/System/Library/Frameworks/JavaVM.framework
mini{lyon}166: sudo mkdir Libraries
mkdir: Libraries: Operation not permitted
The problem is that El Capitan doesn't allow me to change anything in this folder (not even with "sudo").
The folder is "restricted":
ls -lO
total 40
lrwxr-xr-x 1 root wheel restricted 27 Dec 22 2016 Frameworks@ -> Versions/Current/Frameworks
lrwxr-xr-x 1 root wheel restricted 24 Jul 21 06:54 Headers@ -> Versions/Current/Headers
lrwxr-xr-x 1 root wheel restricted 23 Dec 22 2016 JavaVM@ -> Versions/Current/JavaVM
lrwxr-xr-x 1 root wheel restricted 24 Jul 21 06:54 Modules@ -> Versions/Current/Modules
lrwxr-xr-x 1 root wheel restricted 26 Dec 22 2016 Resources@ -> Versions/Current/Resources
drwxr-xr-x 4 root wheel restricted 136 Dec 22 2016 Versions/
Genius!
"SIP" (System Intregrity Protection) prevents me from harming myself. Swell.
Details on SIP disablement appear below....is this what people normally do to run Java3d? It seems a bit extreme. What will I tell my students?
Thanks!
- Doug
To make this change:
temporarily disable SIP the following way
csrutil disable
Did it help with java3d after you copied the library?
Hi Serge,
The file is just where is should be now...
I wrote a program to attempt a test:
The problem:
I have a feeling this is a hard problem, libjawt.dylib
may have to be rebuilt from source code.
What could be wrong?
Thanks!
- Doug
You may contact java3d developers for details. I don't think we can help here.
It's been 2 years, any update you could give?
Hopefully you see this!