JavaAwt

From Gumstix User Wiki
Jump to: navigation, search

issues with classpath

Got a problem when building classpath: Invalid flag -1.5 Solution found here



a Know bug when building java. |here


Java on the stick

I successfully built and executed JamVM and Classpath, see Creating boot image. However, running a small Java program that used AWT failed with the following exception trace:

po@gumstix-custom-verdex:~/proto$ java ShowMe
java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit
  at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:607)
  at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:103)
  at java.awt.Window.<init>(Window.java:133)
  at java.awt.Frame.<init>(Frame.java:246)
  at ShowMe.main(ShowMe.java:35)
Caused by: java.lang.UnsatisfiedLinkError: Native library `gtkpeer' not found (as file `libgtkpeer.so') in gnu.classpath.boot.library.path and java.library.path
  at java.lang.Runtime.loadLibrary(Runtime.java:763)
  at java.lang.System.loadLibrary(System.java:662)
  at gnu.java.awt.peer.gtk.GtkToolkit.<clinit>(GtkToolkit.java:173)
  at java.lang.VMClass.forName(Native Method)
  at java.lang.Class.forName(Class.java:233)
  at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:583)
  ...4 more

This was (once I understood the classpath recipe) easily fixed by making sure that my image recipe had lines for installing both classpath and classpath-awt, like so:

   classpath \
   classpath-awt \

adding support for serial port using RXTX was done by adding the following lines:

   librxtx-jni \
   librxtx-java \