Ok, I ran it from the command line in my home folder where the “controller” folder is. It seems that the plugin JAR does not have permission to run native code.
Java Web Start 1.2 Console, started Wed Sep 24 11:53:35 EDT 2003
Java 2 Runtime Environment: Version 1.4.1_01 by Apple Computer, Inc.
Logging to file: /Users/scottpalmer/webstart.log
Scanning jar: HIDWrapper.jar
Examining file : META-INF/
Examining file : META-INF/MANIFEST.MF
Examining file : net/
Examining file : net/java/
Examining file : net/java/games/
Examining file : net/java/games/input/
Examining file : net/java/games/input/InputController.class
Examining file : net/java/games/input/InputControllerElement.class
Examining file : net/java/games/input/OSXEnvironmentPlugin.class
Found candidate class: net/java/games/input/OSXEnvironmentPlugin.class
Adding class to plugins:net.java.games.input.OSXEnvironmentPlugin
Examining file : net/java/games/input/OSXGamepad.class
Examining file : net/java/games/input/OSXJoystick.class
Examining file : net/java/games/input/OSXKeyboard.class
Examining file : net/java/games/input/OSXMouse$BallAxis.class
Examining file : net/java/games/input/OSXMouse$BallImpl.class
Examining file : net/java/games/input/OSXMouse$ButtonImpl.class
Examining file : net/java/games/input/OSXMouse$ButtonsImpl.class
Examining file : net/java/games/input/OSXMouse.class
Then:
java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:306)
at java.lang.Class.newInstance(Class.java:259)
at net.java.games.input.DefaultControllerEnvironment.scanControllersAt(DefaultControllerEnvironment.java:183)
at net.java.games.input.DefaultControllerEnvironment.scanControllers(DefaultControllerEnvironment.java:164)
at net.java.games.input.DefaultControllerEnvironment.access$000(DefaultControllerEnvironment.java:57)
at net.java.games.input.DefaultControllerEnvironment$1.run(DefaultControllerEnvironment.java:108)
at java.security.AccessController.doPrivileged(Native Method)
at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnvironment.java:106)
at robs.jinput.JInputTester.(JInputTester.java:24)
at robs.jinput.JInputTester.main(JInputTester.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.javaws.Launcher.executeApplication(Launcher.java:785)
at com.sun.javaws.Launcher.executeMainClass(Launcher.java:747)
at com.sun.javaws.Launcher.continueLaunch(Launcher.java:632)
at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:359)
at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:177)
at com.sun.javaws.Launcher.run(Launcher.java:145)
at java.lang.Thread.run(Thread.java:554)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.jinput)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkLink(SecurityManager.java:834)
at java.lang.Runtime.loadLibrary0(Runtime.java:782)
at java.lang.System.loadLibrary(System.java:832)
at net.java.games.input.OSXEnvironmentPlugin.(OSXEnvironmentPlugin.java:298)
… 25 more
What I’m not sure is if this is a bug in Web Start, or a feature that we aren’t using properly… e.g. The classloader that Web Start uses to access the apps Jars probably has permission to load and run native code, and if the plugin is in the JRE folders it might get permission to load native code, but as it is the plugin Jar is in a “unknown” location in terms of what Web Start grant permissions to… well that’s my theory so far…
Where are the jinput installation instructions? I’ve got to take a closer look and try putting the plugins in other places.