views:

146

answers:

2

I created a new project and a new class in eclipse in my ubuntu machine to write the simple Hello World program. It works fine as long as i write the main method and use System.out.println to print my "Hello World". but i want to use the acm.jar package so I imported it to my project and tried to extend the ConsoleProgram class in acm.jar but once i write the public void run() method and try to run it i get some error

i know that i have imported acm.jar successfully because eclipse suggested the rest of the import when i was typing import acm.program.*;

here is the results i get:

Exception in thread "main" java.lang.NoClassDefFoundError: sun.applet.AppletViewer
   at gnu.java.lang.MainThread.run(libgcj.so.90)
Caused by: java.lang.ClassNotFoundException: sun.applet.AppletViewer not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/home/bilm3z/workspace/xbSampleProject1/bin/,file:/home/bilm3z/workspace/acm.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.90)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at java.lang.ClassLoader.loadClass(libgcj.so.90)
   at gnu.java.lang.MainThread.run(libgcj.so.90)

here is a snapshot of the situation: http://www.mypicx.com/12302009/situation1/

A: 

That's strange. Try Right click on your project > Build path > Configure built path > libraries, remove the JRE / JDK from there (if it exists), and add it anew - Add library > JRE System Library

Bozho
+2  A: 

It follows from your stack trace that you're using a GCJ JVM. Try installing the Sun JVM - there are instructions here. (Note that you might have to enable different repositories for this, and note the update-java-alternatives command.)

After you install the Sun JVM, update your Eclipse preferences according to Bozho's answer, so that your Eclipse uses the correct JVM.

Eli Acherkan