users@glassfish.java.net

Glassfish + Application Client + ClassNotFoundException (V2ur2/Netbeans 6.1)

From: Adam Jenkins <adamjenkinstmpredirect_at_yahoo.com.au>
Date: Mon, 2 Jun 2008 08:59:00 +1000 (EST)

Sorry if this is a double up, I think I originally sent it to the wrong address:
   
  Hi All,
   
  I'm doing my head in trying to get an application client I wrote in Netbeans working. I have an EJB and Web module that work fine, and, I've managed to debug the application client in netbeans (having it connect to the ejbs and execute logic no worries). However when I deploy the application client and use the 'Launch' button in glassfish, I get a ClassNotFoundException for one of the JFreeCharts class that the application client uses (I'm guessing this will be the same for all the external library classes -- jfreecharts is just the first being imported).
   
  The jar files are being built into the /META-INF/lib directory of my MyProject-client.jar and the manifest has all the jars in the classpath (from manifest below):
   
  Class-Path: AbsoluteLayout.jar MyProject-ejb.jar commons-httpclient
  -3.1.jar activation.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jsr17
  3_api.jar commons-io-1.3.1.jar xalan.jar resolver.jar serializer.jar
  xercesImpl.jar xml-apis.jar jcommon-1.0.12.jar jcommon-xml-1.0.12.jar
  jfreechart-1.0.9-experimental.jar jfreechart-1.0.9.jar Tidy.jar PDFB
  ox-0.7.3.jar ant.jar bcmail-jdk14-132.jar bcprov-jdk14-132.jar checks
  tyle-all-4.2.jar FontBox-0.1.0-dev.jar junit.jar lucene-core-2.0.0.ja
  r lucene-demos-2.0.0.jar poi-3.0.2-FINAL-20080204.jar poi-contrib-3.0
  .2-FINAL-20080204.jar poi-scratchpad-3.0.2-FINAL-20080204.jar
   
  As I said, when I just debug this in netbeans it works fine, but when I try to launch it through glassfish I get:
   
  Java Web Start 1.6.0_05
  Using JRE version 1.6.0_05 Java HotSpot(TM) Client VM
  User home directory = C:\Documents and Settings\Adam
  ----------------------------------------------------
  c: clear console window
  f: finalize objects on finalization queue
  g: garbage collect
  h: display this help message
  m: print memory usage
  o: trigger logging
  p: reload proxy configuration
  q: hide console
  r: reload policy configuration
  s: dump system and deployment properties
  t: dump thread list
  v: dump thread stack
  0-5: set trace level to <n>
  ----------------------------------------------------
  1/06/2008 18:02:17 com.sun.enterprise.appclient.MainWithModuleSupport prepareSecurity
  INFO: Security Manager is ON.
  1/06/2008 18:02:17 com.sun.enterprise.appclient.MainWithModuleSupport setTargetServerProperties
  INFO: ACC001:Using ClientContainer file: [C:\DOCUME~1\Adam\LOCALS~1\Temp\sunacc30142.xml].
  1/06/2008 18:02:17 com.sun.enterprise.appclient.MainWithModuleSupport <init>
  INFO: ACC024: IIOP endpoint(s) = localhost:3700
  1/06/2008 18:02:29 com.sun.enterprise.appclient.MainWithModuleSupport loadMainClientClass
  INFO: ACC009: Load Application Class: [com.myprojectbatch.client.Main]
  1/06/2008 18:02:30 com.sun.enterprise.appclient.MainWithModuleSupport <init>
  WARNING: ACC003: Application threw an exception.
  java.lang.NoClassDefFoundError: org/jfree/data/xy/XYDataset
  at com.myproject.batch.client.Main.go(Main.java:36)
  at com.myproject.batch.client.Main.main(Main.java:44)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
  at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  at java.lang.reflect.Constructor.newInstance(Unknown Source)
  at com.sun.enterprise.appclient.jws.boot.JWSACCMain.run(JWSACCMain.java:221)
  at com.sun.enterprise.appclient.jws.boot.JWSACCMain.main(JWSACCMain.java:182)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at com.sun.javaws.Launcher.executeApplication(Unknown Source)
  at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
  at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
  at com.sun.javaws.Launcher.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
  Caused by: java.lang.ClassNotFoundException: org.jfree.data.xy.XYDataset
  at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:741)
  at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:631)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClassInternal(Unknown Source)
  ... 23 more
  Error launching or running the application
  java.lang.reflect.InvocationTargetException
  java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  at java.lang.reflect.Constructor.newInstance(Unknown Source)
  at com.sun.enterprise.appclient.jws.boot.JWSACCMain.run(JWSACCMain.java:221)
  at com.sun.enterprise.appclient.jws.boot.JWSACCMain.main(JWSACCMain.java:182)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at com.sun.javaws.Launcher.executeApplication(Unknown Source)
  at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
  at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
  at com.sun.javaws.Launcher.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
  Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:461)
  ... 15 more
  Caused by: java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
  at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
  ... 15 more
  Caused by: java.lang.NoClassDefFoundError: org/jfree/data/xy/XYDataset
  at com.myproject.batch.client.Main.go(Main.java:36)
  at com.myproject.batch.client.Main.main(Main.java:44)
  ... 21 more
  Caused by: java.lang.ClassNotFoundException: org.jfree.data.xy.XYDataset
  at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:741)
  at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:631)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClassInternal(Unknown Source)
  ... 23 more
   
  Does anyone have any ideas? This is halting launch of a production system.
   
  Cheers
  Adam

       
---------------------------------
Get the name you always wanted with the new y7mail email address.