NoClassDefFoundError after upgrade to FC3

Cyrus Adkisson cadkisson at rooseveltmedia.com
Tue Nov 16 13:48:27 UTC 2004


I disabled the gcc-java a long time ago. "java -version" and "which 
java" show that the system is using my Sun JDK. I also went back and got 
the recommended version of Sun JDK (1.4.2_03) and it does not fix the 
problem. This is really frustrating. I can't get jdeveloper, eclipse or 
netbeans to install. I'm going to need something to program with soon.

As far as eclipse, you may remember the error was:

java.lang.UnsatisfiedLinkError: 
/usr/local/eclipse/plugins/org.eclipse.swt.gtk64_3.0.1/os/linux/amd64/libswt-pi-gtk-3063.so: 
/usr/local/eclipse/plugins/org.eclipse.swt.gtk64_3.0.1/os/linux/amd64/libswt-pi-gtk-3063.so: 
cannot open shared object file: No such file or directory

Yet, ldconfig -p shows the file linked properly and the directory is 
listed in /etc/ld.so.conf. ldd on that file doesn't show any broken 
links, either. I'm totally baffled.

Cyrus

Cortezzo, Jason wrote:

>Do you have the Sun JDK installed?  The Jdeveloper install probably included
>a JDK.  It could be that after the upgrade, the first "java" in your path is
>the gcc java, which I am not familiar with.  You may have to adjust your
>path/symlinks so that the correct JVM is invoked.
>
>Try running...
>
>java -version
>
>And see what it says.
>The command...
>
>which java  
>
>Will show you which java is first in your path.
>
>-----Original Message-----
>From: fedora-list-bounces at redhat.com [mailto:fedora-list-bounces at redhat.com]
>On Behalf Of Cyrus Adkisson
>Sent: Monday, November 15, 2004 4:50 PM
>To: For users of Fedora Core releases
>Subject: Re: NoClassDefFoundError after upgrade to FC3
>
>Correction: The error below is only if the java file is executed from the
>wrong directory. When executed from the correct directory, the same error
>from before happens: 
>
>java.lang.NoClassDefFoundError
>at java.lang.Class.forName0(Native Method) at
>java.lang.Class.forName(Class.java:141)
>at oracle.ide.IdeCore.class$(IdeCore.java:89)
>at oracle.ide.IdeCore.startupImpl(IdeCore.java:775)
>at oracle.ide.Ide.startup(Ide.java:539)
>at oracle.jdeveloper.JDeveloper.launch(JDeveloper.java:58)
>at oracle.jdeveloper.JDeveloper.main(JDeveloper.java:37)
>
>Cyrus Adkisson wrote:
>
>  
>
>>Well, there are about 200 jar files in the jdev installation 
>>directory, so the shotgun approach isn't very appealing. I don't see 
>>any kind of log files anywhere, either... I was able to do one thing, 
>>which was print out the actual java command (which is HUGE) with an 
>>echo in the jdev launch script. Cutting and pasting it, I was able to 
>>get more descriptive NoClassDefFoundError output:
>>
>>Exception in thread "main" java.lang.NoClassDefFoundError: 
>>oracle/jdeveloper/JDeveloper
>>
>>I'm probably an idiot for not knowing right away what the problem is 
>>now.  I know that java can't find the correct jar file containing the 
>>JDeveloper class, but how do I know where that is?
>>jdevinstalldir/jdev/lib/jdev.jar has already been inserted into the 
>>classpath... what now?
>>
>>Cyrus
>>
>>Cortezzo, Jason wrote:
>>
>>    
>>
>>>Usually, a NoClassDefFoundError will have a message, which specifies 
>>>the missing class, before the stack trace like...
>>>
>>>Exception in thread "main" java.lang.NoClassDefFoundError:
>>>com/somepackage/SomeClass
>>>Without it, it's  a lot harder to figure out what is missing.  Does 
>>>Jdev have a log file that you could look at to try to find out which 
>>>class is missing?  Otherwise, you can try a shotgun approach. Locate 
>>>all your jar files in your Jdev installation (find /jdevinstalldir 
>>>-name *.jar) and make sure that they are all in your classpath.
>>>
>>>Check the script that starts the IDE and see if it is setting a 
>>>classpath.
>>>Sometimes the CP is set using a command line option of the java 
>>>command (i.e. something like: java -cp {classpath} 
>>>com.oracle.IDEStartup).  Make sure all the jar files that the script
>>>      
>>>
>expects to find actually exist.
>  
>
>>>The Eclipse error message is a little more descriptive.  It's looking 
>>>for a native library (as opposed to a Java class file) and it's 
>>>telling you exactly which one it is looking for 
>>>"/usr/local/eclipse/plugins/org.eclipse.swt.gtk64_3.0.1/os/linux/amd6
>>>4/libsw
>>>
>>>t-pi-gtk-3063.so"
>>>
>>>-Jason
>>>
>>>-----Original Message-----
>>>From: fedora-list-bounces at redhat.com 
>>>[mailto:fedora-list-bounces at redhat.com]
>>>On Behalf Of Cyrus Adkisson
>>>Sent: Monday, November 15, 2004 1:22 PM
>>>To: For users of Fedora Core releases
>>>Subject: Re: NoClassDefFoundError after upgrade to FC3
>>>
>>>Thanks for the reply. That's the whole error as far as jdev is 
>>>concerned.
>>>When I try to run eclipse I get the following error, which may or may 
>>>not be
>>>related:
>>>
>>>java.lang.UnsatisfiedLinkError: 
>>>/usr/local/eclipse/plugins/org.eclipse.swt.gtk64_3.0.1/os/linux/amd64
>>>/libswt
>>>
>>>-pi-gtk-3063.so: 
>>>/usr/local/eclipse/plugins/org.eclipse.swt.gtk64_3.0.1/os/linux/amd64
>>>/libswt
>>>
>>>-pi-gtk-3063.so: cannot open shared object file: No such file or 
>>>directory
>>>       at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>>>       at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
>>>       at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1495)
>>>       at java.lang.Runtime.loadLibrary0(Runtime.java:788)
>>>       at java.lang.System.loadLibrary(System.java:834)
>>>       at org.eclipse.swt.internal.Library.loadLibrary(Library.java:100)
>>>       at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:19)
>>>       at
>>>org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
>>>       at
>>>org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
>>>       at org.eclipse.swt.widgets.Display.<clinit>(Display.java:118)
>>>       at
>>>org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:268)
>>>       at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:153)
>>>       at
>>>org.eclipse.ui.internal.ide.IDEApplication.createDisplay(IDEApplicati
>>>on.java
>>>
>>>:122)
>>>       at
>>>org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:72)
>>>       at
>>>
>>>      
>>>
>org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.
>
>  
>
>>>java:335)
>>>       at
>>>org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
>>>va:273)
>>>
>>>       at
>>>org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
>>>va:129)
>>>
>>>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>       at
>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>>>java:39
>>>
>>>)
>>>       at
>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>>>sorImpl
>>>
>>>.java:25)
>>>       at java.lang.reflect.Method.invoke(Method.java:324)
>>>       at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
>>>       at org.eclipse.core.launcher.Main.run(Main.java:704)
>>>       at org.eclipse.core.launcher.Main.main(Main.java:688)
>>>
>>>Also, I just upgraded my java rpm (and set JAVA_HOME to the new 
>>>location), so I know all the files are there. It must be a jar file 
>>>that isn't in the classpath. What jar files would normally be in the 
>>>CLASSPATH?
>>>
>>>Cyrus
>>>
>>>
>>>Cortezzo, Jason wrote:
>>>
>>> 
>>>
>>>      
>>>
>>>>Are you giving us the entire exception message?  It should tell you 
>>>>which class it is looking for.  I think it usually prints right 
>>>>before the stack trace.
>>>>
>>>>A NoClassDefFoundError means either a .jar file is missing or your 
>>>>CLASSPATH enviornment no longer contains the necessary file.
>>>>
>>>>-Jason
>>>>
>>>>-----Original Message-----
>>>>From: fedora-list-bounces at redhat.com 
>>>>[mailto:fedora-list-bounces at redhat.com]
>>>>On Behalf Of Cyrus Adkisson
>>>>Sent: Monday, November 15, 2004 1:10 PM
>>>>To: For users of Fedora Core releases
>>>>Subject: Re: NoClassDefFoundError after upgrade to FC3
>>>>
>>>>Well, I uncovered one big clue. Whenever you upgrade to FC3, the 
>>>>system attempts to install gcc-java (and does) which can screw up 
>>>>the workings of your Sun java considerably. Among other things, FC3 
>>>>installs a /usr/bin/java script that points to the gcc-java code so 
>>>>when you type java -version it gives you a bunch of gcc output. If 
>>>>you disable the /usr/bin/java script, then it will revert back to 
>>>>the Sun java.
>>>>
>>>>However, doing that did not fix my problem. Jdeveloper still gives 
>>>>the same error I posted previously, as if it's searching for 
>>>>something in the classpath. Eclipse does something similar. Can 
>>>>anyone help me understand what I might need in the classpath for 
>>>>this to work again?
>>>>
>>>>Cyrus
>>>>
>>>>Cyrus Adkisson wrote:
>>>>
>>>>
>>>>
>>>>  
>>>>
>>>>        
>>>>
>>>>>Hi everybody. I use jDeveloper from Oracle to program, create GUIs 
>>>>>and manage my various projects. It's not open-source, but it's a 
>>>>>very good program. I have been using it without errors for at least 
>>>>>a year.
>>>>>Then, when I upgraded to Fedora Core 3, it was the only thing on my 
>>>>>computer that stopped working. When I click on the icon on my 
>>>>>desktop, nothing pops up, and top shows a massive load on the CPU 
>>>>>for "jdev".
>>>>>When I run it in a terminal window, I get the following error:
>>>>>
>>>>>java.lang.NoClassDefFoundError
>>>>>     at java.lang.Class.forName0(Native Method)
>>>>>     at java.lang.Class.forName(Class.java:141)
>>>>>     at oracle.ide.IdeCore.class$(IdeCore.java:89)
>>>>>     at oracle.ide.IdeCore.startupImpl(IdeCore.java:775)
>>>>>     at oracle.ide.Ide.startup(Ide.java:539)
>>>>>     at oracle.jdeveloper.JDeveloper.launch(JDeveloper.java:58)
>>>>>     at oracle.jdeveloper.JDeveloper.main(JDeveloper.java:37)
>>>>>
>>>>>I've got the same java SDK I had before, and the configuration 
>>>>>files are pointing to it. Can anybody think of why an upgrade to 
>>>>>Fedora Core
>>>>>3 would be causing this error?
>>>>>
>>>>>Thanks,
>>>>>Cyrus
>>>>>
>>>>> 
>>>>>    
>>>>>          
>>>>>
>>>>--
>>>>fedora-list mailing list
>>>>fedora-list at redhat.com
>>>>To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
>>>>
>>>>
>>>>
>>>>  
>>>>        
>>>>
>>>
>>>--
>>>__________________
>>>Cyrus Adkisson
>>>RooseveltMedia.com
>>>1833 New Hampshire Avenue NW
>>>Washington, DC 20009
>>>(202)465-4359
>>>
>>>--
>>>fedora-list mailing list
>>>fedora-list at redhat.com
>>>To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
>>>
>>> 
>>>
>>>      
>>>
>>    
>>
>
>
>--
>fedora-list mailing list
>fedora-list at redhat.com
>To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
>
>  
>


-- 
__________________
Cyrus Adkisson
RooseveltMedia.com
1833 New Hampshire Avenue NW
Washington, DC 20009
(202)465-4359




More information about the users mailing list