Peter,
Try adding -XX:+Verbose to get extra info
David
Pete Brunet said the following on 08/03/10 02:57:
Thanks David, Those options tell me which classes were succesfully
loaded but not what classes the class loader was trying to load when the
class loader was attempting to load SwingEventMonitor. Is there a way
to get a deeper dump while a particular class is being loaded? -Pete
David Holmes wrote:
Try -verbose:class or -XX:+TraceClassLoading
HTH
David Holmes
Pete Brunet said the following on 07/31/10 07:53:
This blog post has been helpful to at least start the investigation:
http://www.jroller.com/sjivan/entry/difference_between_classnotfoundexception_and_noclassdeffounderror
However, I haven't found anything yet similar to the cases discussed in
the blog entry. Since SwingEventMonitor was last updated for 1.4 I do
see the use of Class and ListModel instead of Class<T> and ListModel<T>
but it seems like this would not cause a NoClassDefFoundError.
Other than visual inspection (which I've done) is there a technique for
determining what classes the class loader is attempting to load as
SwingEventMonitor is being loaded?
Thanks, Pete
Pete Brunet wrote:
What is the correct way to fix this?
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError:
com/sun/java/accessibility/util/SwingEventMonitor
at
sun.awt.windows.accessibility.AccessibleContextMirror.<init>(AccessibleContextMirror.java:583)
This class lives in jaccess-1_4.jar which I copy to lib\ext and is
documented here:
http://download.oracle.com/docs/cd/E17802_01/j2se/javase/technologies/accessibility/docs/jaccess-1.3/doc/api/com/sun/java/accessibility/util/package-summary.html
Since (as far as I know) this class isn't part of the OpenJDK I
expected
javac to fail but it didn't (at least as far as the log shows):
...
# Java sources to be compiled: (listed in file
c:/OPF6CE~1/jdk7/build/WINDOW~2/tmp/sun/sun.awt/awt/.classes.list)
../../../src/windows/classes/sun/awt/windows/Accessibility/AccessibleContextMirror.java
# Running javac:
c:/OPF6CE~1/jdk7/build/WINDOW~2/J2SDK-~1/bin/javac
-J-XX:ThreadStackSize=768 -J-XX:-PrintVMOptions
-J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-client
-J-Xmx395m
-J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -source 7
-target 7
-encoding ascii -Xbootclasspath:c:/OPF6CE~1/jdk7/build/WINDOW~2/classes
-sourcepath
c:/OPF6CE~1/jdk7/build/WINDOW~2/gensrc;../../../src/windows/classes;../../../src/share/classes
-d c:/OPF6CE~1/jdk7/build/WINDOW~2/classes
@c:/OPF6CE~1/jdk7/build/WINDOW~2/tmp/sun/sun.awt/awt/.classes.list.filtered
/usr/bin/mkdir -p
c:/OPF6CE~1/jdk7/build/WINDOW~2/tmp/sun/sun.awt/awt/obj
...
The source for SwingEventMonitor isn't in any of the three directories
in the -sourcepath.
What files should I provide and where should I put them, both for
compile time and run time?
Thanks, Pete