Alan McKinnon wrote:
> On Friday 12 February 2010 00:10:06 dhk wrote:
> 
>> My /usr/bin/java was linked to run-java-tool, don't know what that is.
>> # ll /usr/bin/java
>> lrwxrwxrwx 1 root root 13 Feb 11 11:20 /usr/bin/java -> run-java-tool
> 
> That's correct. It's a man-in-the-middle thing installed by the java 
> configurator, it makes life easy when switching between various java versions
>  
>> I installed a jdk
>> emerge dev-java/sun-jdk
>>
>> Removed the /usr/bin/java sym link and made another to the newly
>> installed java.
>> ln -s /opt/sun-jdk-1.6.0.18/bin/java /usr/bin/java
>>
>> I set some environment variables.
>> export J2EE_HOME="/opt/sun-j2ee-1.3.1/"
>> export JAVA_HOME="/opt/sun-jdk-1.6.0.18"
>>
>> Then reinstalled j2ee
>> emerge dev-java/sun-j2ee
>>
>> Tried starting j2ee
>> /opt/sun-j2ee-1.3.1/bin/j2ee -verbose
>>
>> Checked processes, but no j2ee was running.
>>
>> Then looked at the error log. Looks like it can't find this com.sun...
>> directory.
>>
>> # cat /opt/sun-j2ee-1.3.1/logs/dhcppc3/j2ee/j2ee/system.err
>>
>>
>> Logging for J2EE Server Version: 1.3.1-b17 started at: Thu Feb 11
>> 16:44:31 EST 2010..
>> Using the Java HotSpot(TM) 64-Bit Server VM and the version number
>> 1.6.0_18 from Sun Microsystems Inc..
>> VM is using the classpath:
>> /opt/sun-j2ee-1.3.1/lib/system/cloudscape.jar:/opt/sun-j2ee-1.3.1/lib/syste
>> m/cloudutil.jar:/opt/sun-j2ee-1.3.1/lib/cloudscape/RmiJdbc.jar:/opt/sun-j2e
>> e-1.3.1/lib/cloudscape/cloudclient.jar:/opt/sun-j2ee-1.3.1/lib/classes:/opt
>> /sun-j2ee-1.3.1/classes:/opt/sun-j2ee-1.3.1/lib/j2ee.jar:/opt/sun-j2ee-1.3.
>> 1/lib/toolclasses:/opt/sun-j2ee-1.3.1/lib/j2eetools.jar:/opt/sun-j2ee-1.3.1
>> /lib/locale::/opt/sun-jdk-1.6.0.18/lib/tools.jar:/opt/sun-j2ee-1.3.1/lib/jh
>> all.jar .
>> J2EE Home Directory has been set to: /opt/sun-j2ee-1.3.1.
>>
>>
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> com/sun/corba/se/internal/util/IdentityHashtable
> 
> If memory serves, the corba stuff is part of the base classes required by all 
> VMs. I think that is in rt.jar, but you don't have that in your CLASSPATH.
> 
> These days it might be elsewhere, it's been a while.
> 
> I reckon you either didn't set your jdk CLASSPATH at all, or you did and 
> clobbered it with j2ee by doing
> 
> CLASSPATH=.....
> 
> instead of 
> 
> CLASSPATH=$CLASSPATH:....
> 
> 
> 
> 
> 
>>      at 
> com.sun.corba.ee.internal.javax.rmi.CORBA.Util.<clinit>(Util.java:87)
>>      at com.sun.corba.ee.internal.POA.POAImpl.activate(POAImpl.java:935)
>>      at 
> com.sun.corba.ee.internal.POA.POAImpl.activate_object(POAImpl.java:895)
>>      at
>> com.sun.corba.ee.internal.CosNaming.TransientNameService.initialize(Transie
>> ntNameService.java:117) at
>> com.sun.corba.ee.internal.CosNaming.TransientNameService.<init>(TransientNa
>> meService.java:70) at
>> com.sun.enterprise.iiop.POAProtocolMgr.initializeNaming(POAProtocolMgr.java
>> :103) at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:226)
>>      at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
>> Caused by: java.lang.ClassNotFoundException:
>> com.sun.corba.se.internal.util.IdentityHashtable
>>      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>>      at java.security.AccessController.doPrivileged(Native Method)
>>      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>      at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>>      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>      ... 8 more
>>
>>
>> Logging for J2EE Server Version: 1.3.1-b17 started at: Thu Feb 11
>> 17:03:04 EST 2010..
>> Using the Java HotSpot(TM) 64-Bit Server VM and the version number
>> 1.6.0_18 from Sun Microsystems Inc..
>> VM is using the classpath:
>> /opt/sun-j2ee-1.3.1/lib/system/cloudscape.jar:/opt/sun-j2ee-1.3.1/lib/syste
>> m/cloudutil.jar:/opt/sun-j2ee-1.3.1/lib/cloudscape/RmiJdbc.jar:/opt/sun-j2e
>> e-1.3.1/lib/cloudscape/cloudclient.jar:/opt/sun-j2ee-1.3.1/lib/classes:/opt
>> /sun-j2ee-1.3.1/classes:/opt/sun-j2ee-1.3.1/lib/j2ee.jar:/opt/sun-j2ee-1.3.
>> 1/lib/toolclasses:/opt/sun-j2ee-1.3.1/lib/j2eetools.jar:/opt/sun-j2ee-1.3.1
>> /lib/locale::/opt/sun-jdk-1.6.0.18/lib/tools.jar:/opt/sun-j2ee-1.3.1/lib/jh
>> all.jar .
>> J2EE Home Directory has been set to: /opt/sun-j2ee-1.3.1.
>>
>>
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> com/sun/corba/se/internal/util/IdentityHashtable
>>      at 
> com.sun.corba.ee.internal.javax.rmi.CORBA.Util.<clinit>(Util.java:87)
>>      at com.sun.corba.ee.internal.POA.POAImpl.activate(POAImpl.java:935)
>>      at 
> com.sun.corba.ee.internal.POA.POAImpl.activate_object(POAImpl.java:895)
>>      at
>> com.sun.corba.ee.internal.CosNaming.TransientNameService.initialize(Transie
>> ntNameService.java:117) at
>> com.sun.corba.ee.internal.CosNaming.TransientNameService.<init>(TransientNa
>> meService.java:70) at
>> com.sun.enterprise.iiop.POAProtocolMgr.initializeNaming(POAProtocolMgr.java
>> :103) at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:226)
>>      at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
>> Caused by: java.lang.ClassNotFoundException:
>> com.sun.corba.se.internal.util.IdentityHashtable
>>      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>>      at java.security.AccessController.doPrivileged(Native Method)
>>      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>      at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>>      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>      ... 8 more
>>
>>
>> Thanks,
>>
>> dhk
> 

I put /usr/bin/java back the way it was.
ln -s /usr/bin/run-java-tool /usr/bin/java

I set the CLASSPATH, got it from java-config --runtime
export CLASSPATH=$CLASSPATH:/opt/sun-jdk-1.6.0.18/jre/lib/resources.jar:
/opt/sun-jdk-1.6.0.18/jre/lib/rt.jar:/opt/sun-jdk-1.6.0.18/jre/lib/jsse.jar:
/opt/sun-jdk-1.6.0.18/jre/lib/jce.jar:/opt/sun-jdk-1.6.0.18/jre/lib/charsets.jar

Is it safe to set the CLASSPATH as follows?
export CLASSPATH=$CLASSPATH:`java-config --runtime`
That seems to work too.

I ran /opt/sun-j2ee-1.3.1/bin/j2ee and still got the errors.  It
definately looks like the CLASSPATH, but what should it be?

# cat /opt/sun-j2ee-1.3.1/logs/dhcppc3/j2ee/j2ee/system.err


Logging for J2EE Server Version: 1.3.1-b17 started at: Thu Feb 11
17:57:05 EST 2010..
Using the Java HotSpot(TM) 64-Bit Server VM and the version number
1.6.0_18 from Sun Microsystems Inc..
VM is using the classpath:
/opt/sun-j2ee-1.3.1/lib/system/cloudscape.jar:/opt/sun-j2ee-1.3.1/lib/system/cloudutil.jar:/opt/sun-j2ee-1.3.1/lib/cloudscape/RmiJdbc.jar:/opt/sun-j2ee-1.3.1/lib/cloudscape/cloudclient.jar:/opt/sun-j2ee-1.3.1/lib/classes:/opt/sun-j2ee-1.3.1/classes:/opt/sun-j2ee-1.3.1/lib/j2ee.jar:/opt/sun-j2ee-1.3.1/lib/toolclasses:/opt/sun-j2ee-1.3.1/lib/j2eetools.jar:/opt/sun-j2ee-1.3.1/lib/locale::/opt/sun-jdk-1.6.0.18/lib/tools.jar:/opt/sun-j2ee-1.3.1/lib/jhall.jar
.
J2EE Home Directory has been set to: /opt/sun-j2ee-1.3.1.


Exception in thread "main" java.lang.NoClassDefFoundError:
com/sun/corba/se/internal/util/IdentityHashtable
        at com.sun.corba.ee.internal.javax.rmi.CORBA.Util.<clinit>(Util.java:87)
        at com.sun.corba.ee.internal.POA.POAImpl.activate(POAImpl.java:935)
        at 
com.sun.corba.ee.internal.POA.POAImpl.activate_object(POAImpl.java:895)
        at
com.sun.corba.ee.internal.CosNaming.TransientNameService.initialize(TransientNameService.java:117)
        at
com.sun.corba.ee.internal.CosNaming.TransientNameService.<init>(TransientNameService.java:70)
        at
com.sun.enterprise.iiop.POAProtocolMgr.initializeNaming(POAProtocolMgr.java:103)
        at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:226)
        at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:972)
Caused by: java.lang.ClassNotFoundException:
com.sun.corba.se.internal.util.IdentityHashtable
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 8 more

Thanks,

dhk




Reply via email to