Restriction d'accès sur jarres (quelle est la bonne façon d'obtenir VecMath?)
Question
J'ai besoin Vecmath, alors je suis allé à Oracle pour obtenir la dernière version de Java 3D . Je ne vois pas un endroit pour télécharger un fichier JAR, mais il avait un programme d'installation. J'ai téléchargé et couru. Je suppose que l'installateur a ajouté le JAR comme une extension JDK
Je redémarré Eclipse, et il voit que VecMath est présent. Cependant, il se plaint encore:
Restriction d'accès: Le type Vector3f n'est pas accessible en raison de la restriction sur la bibliothèque requise C: \ Program Files \ Java \ jre6 \ lib \ ext \ vecmath.jar
Bummer. Je suis en mesure de changer d'une erreur du compilateur à un avertissement, mais il se bloque dès que je tente de l'exécuter. Bien que, j'utilise cette option conjointement avec OpenGL, et l'accident ne pouvait rien à voir avec vecmath. Je ne suis pas sûr. Voici l'exception:
Exception in thread "Timer-0" javax.media.opengl.GLException: java.lang.RuntimeException: javax.imageio.IIOException: Can't read input file!
at com.jogamp.opengl.impl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:101)
at com.jogamp.opengl.impl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:192)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:164)
at javax.media.opengl.awt.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:591)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:301)
at com.jogamp.opengl.util.AnimatorImpl.display(AnimatorImpl.java:50)
at com.jogamp.opengl.util.Animator.display(Animator.java:154)
at com.jogamp.opengl.util.FPSAnimator$1.run(FPSAnimator.java:95)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Caused by: java.lang.RuntimeException: javax.imageio.IIOException: Can't read input file!
at cs4620.nth23.assignment1.GraphicsApp.loadTextures(GraphicsApp.java:98)
at cs4620.nth23.assignment1.GraphicsApp.init(GraphicsApp.java:65)
at com.jogamp.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:111)
at com.jogamp.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:124)
at javax.media.opengl.awt.GLCanvas$InitAction.run(GLCanvas.java:643)
at com.jogamp.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:273)
at javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:674)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at cs4620.nth23.assignment1.GraphicsApp.loadTextures(GraphicsApp.java:95)
... 14 more
J'utilise:
-
x84 Windows 7
-
Eclipse Helios
-
JavaSE-1,6
-
JDK 1.6
Qu'est-ce que je fais mal ici?
La solution
L'exception a été causée par l'impossibilité de trouver un fichier référencé dans le code -. Il n'a rien à voir avec VecMath
L'application fonctionne très bien, malgré les restrictions d'accès. Je ne sais pas si ça va revenir me mordre plus tard, ou quoi.