geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kshiraly <kshiraly.li...@gmail.com>
Subject Re: Geronimo v3 - ClassNotFoundException for class available in sharedlib
Date Tue, 10 Apr 2012 17:09:52 GMT
Hi Ivan,

I built geronimo/server/branches/3.0-beta 
<http://svn.apache.org/viewvc/geronimo/server/branches/3.0-beta> branch, 
and retried the same configuration in 
"geronimo-tomcat7-javaee6-3.0-beta-2" and 
"geronimo-tomcat7-javaee6-web-3.0-beta-2" assemblies.
As before, the shared jars are in var/shared/lib, and the WAR is in /deploy

I still get the ClassNotFoundException, but this time with a different 
stack trace. I started server with "-verbose:class" and I can see that now
/com.liferay.portal.kernel.security.jaas.PortalRole is/ getting loaded 
from /var/shared/lib/portal-service.jar.

Any ideas what could be wrong?

    /2012-04-10 22:32:36,298 ERROR [GBeanInstanceState] Error while
    starting; GBean is now in the FAILED state:
    abstractName="liferay/liferay-portal/6.1.0/car?configurationName=liferay/liferay-portal/6.1.0/car"
    org.apache.geronimo.kernel.config.InvalidConfigException: Class not
    loadable in classloader: liferay.liferay-portal_6.1.0 [378]
        at
    org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:134)
        at
    org.apache.geronimo.kernel.config.SerializedGBeanState.getGBeans(SerializedGBeanState.java:65)
        at
    org.apache.geronimo.kernel.config.ConfigurationData.getGBeans(ConfigurationData.java:186)
        at
    org.apache.geronimo.kernel.config.Configuration.<init>(Configuration.java:216)
        at
    sun.reflect.GeneratedConstructorAccessor51.newInstance(Unknown Source)
        at
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at
    org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(ReflectionUtil.java:958)
        at
    org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:276)
        at
    org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
        at
    org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
        at
    org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:958)
        at
    org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:271)
        at
    org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:105)
        at
    org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:555)
        at
    org.apache.geronimo.kernel.basic.BasicKernel.startGBean(BasicKernel.java:368)
        at
    org.apache.geronimo.kernel.config.KernelConfigurationManager.load(KernelConfigurationManager.java:191)
        at
    org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:359)
        at
    org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:332)
        at
    org.apache.geronimo.kernel.osgi.ConfigurationActivator.start(ConfigurationActivator.java:62)
        at
    org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
        at java.security.AccessController.doPrivileged(Native Method)
        at
    org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
        at
    org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
        at
    org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
        at
    org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:299)
        at
    org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:312)
        at
    org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:291)
        at
    org.apache.geronimo.kernel.config.KernelConfigurationManager.loadConfiguration(KernelConfigurationManager.java:125)
        at
    org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:63)
        at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.ClassNotFoundException: Unable to find class
    used in GBeanData
    liferay/liferay-portal/6.1.0/car?J2EEApplication=null,WebModule=liferay/liferay-portal/6.1.0/car,j2eeType=RoleMapper,name=RoleMapper
        at
    org.apache.geronimo.gbean.GBeanData$V0Externalizable.readExternal(GBeanData.java:404)
        at
    org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:320)
        at
    org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:125)
        ... 30 more
    Caused by: java.lang.ClassNotFoundException: Unable to find class
    used in GBeanData
    liferay/liferay-portal/6.1.0/car?J2EEApplication=null,WebModule=liferay/liferay-portal/6.1.0/car,j2eeType=RoleMapper,name=RoleMapper,
    attribute: principalRoleMap
        at
    org.apache.geronimo.gbean.GBeanData$V0Externalizable.readExternal(GBeanData.java:370)
        ... 32 more
    Caused by: java.lang.ClassNotFoundException: Could not load class
    com.liferay.portal.kernel.security.jaas.PortalRole from unknown
    classloader; liferay.liferay-portal_6.1.0 [378]
        at
    org.apache.geronimo.kernel.ClassLoading.loadClass(ClassLoading.java:320)
        at
    org.apache.geronimo.kernel.ObjectInputStreamExt.resolveClass(ObjectInputStreamExt.java:40)
        at
    java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)
        at
    java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
        at java.util.HashMap.readObject(HashMap.java:1029)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
    java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at
    java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
        at
    java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
        at
    java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
        at
    org.apache.geronimo.gbean.GBeanData$V0Externalizable.readExternal(GBeanData.java:368)
        ... 32 more
    2012-04-10 22:32:36,357 WARN  [ModuleHandler] Unable to start some
    modules for
    D:\developer\geronimo\geronimo-tomcat7-javaee6-3.0-beta-2-SNAPSHOT\deploy\liferay-portal.war
    /



geronimo.out with -verbose:class:
-----------------------------------------
[Loaded com.liferay.portal.kernel.servlet.ProtectedPrincipal from 
file:/D:/developer/geronimo/geronimo-tomcat7-javaee6-3.0-beta-2-SNAPSHOT/var/shared/lib/portal-service.jar]
[Loaded com.liferay.portal.kernel.security.jaas.PortalPrincipal from 
file:/D:/developer/geronimo/geronimo-tomcat7-javaee6-3.0-beta-2-SNAPSHOT/var/shared/lib/portal-service.jar]
[Loaded com.liferay.portal.kernel.security.jaas.PortalRole from 
file:/D:/developer/geronimo/geronimo-tomcat7-javaee6-3.0-beta-2-SNAPSHOT/var/shared/lib/portal-service.jar]


config.xml:
------------
    <module 
name="org.apache.geronimo.configs/sharedlib-extender/3.0-beta-2-SNAPSHOT/car"/>
    <module 
name="org.apache.geronimo.configs/sharedlib/3.0-beta-2-SNAPSHOT/car"/>


var/shared/META-INF/MANIFEST.MF:
-----------------------------------------------

    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-SymbolicName: org.apache.geronimo.configs.sharedlib.SharedLib
    Bundle-Version: 3.0.0.beta-2-SNAPSHOT
    Bundle-ClassPath: classes,lib/hsql.jar,lib/jtds.jar,lib/mysql.jar,lib/
     portal-service.jar,lib/portlet.jar,lib/postgresql.jar
    Import-Package: org.apache.geronimo.kernel.osgi,org.apache.geronimo.sy
     stem.sharedlib,org.apache.geronimo.gbean,org.osgi.framework,org.apach
     e.geronimo.system.serverinfo
    DynamicImport-Package: *


Thanks
kshiraly


kshiraly wrote:
> Hi Ivan,
>
> Thanks for reply. I'll give it a try and get back to you.
>
> kshiraly
>
> Ivan wrote:
>> Hmm, think I have fixed that in  
>> https://issues.apache.org/jira/browse/GERONIMO-6254 Is it OK for you 
>> to build that components by yourself, or I could provide the patched 
>> jar files somewhere.
>>
>>
>> 2012/4/9 Karthik Mailing <kshiraly.lists@gmail.com 
>> <mailto:kshiraly.lists@gmail.com>>
>>
>>     Hi Ivan,
>>
>>     Thanks for your reply.
>>     I had already placed the jars in GERONIMO_HOME/var/shared/lib
>>     prior to starting Geronimo.
>>
>>
>>     Content of var/shared/META-INF:
>>     ---------------------------------------
>>     Manifest-Version: 1.0
>>     Bundle-ManifestVersion: 2
>>     Bundle-SymbolicName: org.apache.geronimo.configs.sharedlib.SharedLib
>>     Bundle-Version: 3.0.0.beta-1
>>     Bundle-ClassPath:
>>     classes,lib/hsql.jar,lib/jtds.jar,lib/mysql.jar,lib/
>>      portal-service.jar,lib/portlet.jar,lib/postgresql.jar
>>     Import-Package:
>>     org.apache.geronimo.kernel.osgi,org.apache.geronimo.sy
>>     <http://org.apache.geronimo.sy>
>>      stem.sharedlib,org.osgi.framework,org.apache.geronimo.gbean,org.apach
>>      e.geronimo.system.serverinfo
>>
>>     The jar names are all correct and no jars have been missed in the
>>     above list. The  class that could not be found is actually in
>>     portal-service.jar.
>>
>>     Karthik
>>
>>
>>     On Mon, Apr 9, 2012 at 9:38 AM, Ivan <xhhsld@gmail.com
>>     <mailto:xhhsld@gmail.com>> wrote:
>>
>>         The configurations look fine to me, after copying those jar
>>         files in the var/shared library, do you restart the server ?
>>         Could you show me the content of the
>>         file var\shared\META-INF/MANIFEST.MF file ?
>>
>>
>>         2012/4/9 kshiraly <kshiraly.lists@gmail.com
>>         <mailto:kshiraly.lists@gmail.com>>
>>
>>             Hi,
>>
>>             I'm trying to deploy a WAR file in Geronimo v3 JavaEE6
>>             web profile release
>>             (geronimo-tomcat7-javaee6-3.0-beta-1).
>>             The WAR file's descriptors contain references to JAAS
>>             related classes
>>             (roles, principals, login modules) which are available in
>>             a JAR file in
>>             GERONIMO_HOME/var/shared/lib.
>>
>>             This same configuration works in a Geronimo 2.2.1
>>             installation, but shows
>>             the following exception and stack trace in v3 when I copy
>>             the WAR file into
>>             Geronimo's hot deployment directory (GERONIMO_HOME/deploy):
>>
>>             =============================================================================
>>             [Loaded
>>             org.apache.geronimo.xbeans.geronimo.security.impl.GerRoleTypeImpl
>>             from
>>             file:/D:/developer/geronimo/geronimo-tomcat7-javaee6-3.0-beta-1/var/cache/org.eclipse.osgi/bundles/124/1/bundlefile]
>>             [Loaded
>>             org.apache.geronimo.xbeans.geronimo.security.GerPrincipalType
>>             from
>>             file:/D:/developer/geronimo/geronimo-tomcat7-javaee6-3.0-beta-1/var/cache/org.eclipse.osgi/bundles/124/1/bundlefile]
>>             [Loaded
>>             org.apache.geronimo.xbeans.geronimo.security.impl.GerPrincipalTypeImpl
>>             from
>>             file:/D:/developer/geronimo/geronimo-tomcat7-javaee6-3.0-beta-1/var/cache/org.eclipse.osgi/bundles/124/1/bundlefile]
>>             [Loaded
>>             org.apache.geronimo.security.util.ConfigurationUtil$1 from
>>             file:/D:/developer/geronimo/geronimo-tomcat7-javaee6-3.0-beta-1/var/cache/org.eclipse.osgi/bundles/87/1/bundlefile]
>>             java.security.PrivilegedActionException:
>>             java.lang.ClassNotFoundException:
>>             com.liferay.portal.kernel.security.jaas.PortalRole
>>                    at
>>             java.security.AccessController.doPrivileged(Native Method)
>>                    at
>>             org.apache.geronimo.security.util.ConfigurationUtil.generatePrincipal(ConfigurationUtil.java:77)
>>                    at
>>             org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl.buildPrincipal(GeronimoSecurityBuilderImpl.java:280)
>>                    at
>>             org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl.configureRoleMapper(GeronimoSecurityBuilderImpl.java:314)
>>                    at
>>             org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl.build(GeronimoSecurityBuilderImpl.java:184)
>>                    at
>>             org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection.build(NamespaceDrivenBuilderCollection.java:43)
>>                    at
>>             org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.basicInitContext(AbstractWebModuleBuilder.java:496)
>>                    at
>>             org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.initContext(AbstractWebModuleBuilder.java:436)
>>                    at
>>             org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(SwitchingModuleBuilder.java:168)
>>                    at
>>             org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:685)
>>                    at
>>             org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:255)
>>                    at
>>             org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:140)
>>                    at
>>             sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>                    at
>>             sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>                    at
>>             sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>                    at java.lang.reflect.Method.invoke(Method.java:597)
>>                    at
>>             org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
>>                    at
>>             org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131)
>>                    at
>>             org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:883)
>>                    at
>>             org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245)
>>                    at
>>             org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doDeploy(AbstractDeployCommand.java:116)
>>                    at
>>             org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:61)
>>                    at java.lang.Thread.run(Thread.java:662)
>>             Caused by: java.lang.ClassNotFoundException:
>>             com.liferay.portal.kernel.security.jaas.PortalRole
>>                    at
>>             org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
>>                    at
>>             org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
>>                    at
>>             org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
>>                    at
>>             org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85)
>>                    at
>>             java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>                    at
>>             org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
>>                    at
>>             org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
>>                    at
>>             org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
>>                    at
>>             org.apache.geronimo.security.util.ConfigurationUtil$1.run(ConfigurationUtil.java:79)
>>                    at
>>             org.apache.geronimo.security.util.ConfigurationUtil$1.run(ConfigurationUtil.java:77)
>>                    ... 23 more
>>
>>             =============================================================================
>>
>>
>>
>>             *var/config/config.xml has entries for sharedlib:*
>>
>>                <module
>>             name="org.apache.geronimo.configs/sharedlib-extender/3.0-beta-1/car"/>
>>                <module
>>             name="org.apache.geronimo.configs/sharedlib/3.0-beta-1/car"/>
>>
>>
>>             *WAR file's geronimo-web.xml:*
>>
>>             <?xml version="1.0"?>
>>
>>             <web-app
>>             xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
>>                    <environment>
>>                            <moduleId>
>>                                    <groupId>liferay</groupId>
>>                                  
>>              <artifactId>liferay-portal</artifactId>
>>                                    <version>6.1.0</version>
>>                                    <type>car</type>
>>                            </moduleId>
>>                            <dependencies>
>>                                    <dependency>
>>                                          
>>              <groupId>org.apache.geronimo.configs</groupId>
>>                                          
>>              <artifactId>j2ee-server</artifactId>
>>                                            <type>car</type>
>>                                    </dependency>
>>                                    <dependency>
>>                                          
>>              <groupId>org.apache.geronimo.configs</groupId>
>>                                          
>>              <artifactId>sharedlib</artifactId>
>>                                            <type>car</type>
>>                                    </dependency>
>>                                    <dependency>
>>                                          
>>              <groupId>org.apache.geronimo.framework</groupId>
>>                                          
>>              <artifactId>j2ee-security</artifactId>
>>                                            <type>car</type>
>>                                    </dependency>
>>                                    <dependency>
>>                                          
>>              <groupId>org.apache.geronimo.framework</groupId>
>>                                          
>>              <artifactId>rmi-naming</artifactId>
>>                                            <type>car</type>
>>                                    </dependency>
>>                            </dependencies>
>>
>>                    </environment>
>>                    <context-root>/</context-root>
>>                    <security-realm-name>PortalRealm</security-realm-name>
>>                    <security>
>>                            <default-principal>
>>                                    <principal name="anonymous"
>>             class="com.liferay.portal.kernel.security.jaas.PortalPrincipal"
>>             />
>>                            </default-principal>
>>                            <role-mappings>
>>                                    <role role-name="users">
>>                                            <principal
>>             class="com.liferay.portal.kernel.security.jaas.PortalRole"
>>             name="users" />
>>                                    </role>
>>                            </role-mappings>
>>                    </security>
>>                    <gbean name="PortalRealm"
>>             class="org.apache.geronimo.security.realm.GenericSecurityRealm">
>>                            <attribute
>>             name="realmName">PortalRealm</attribute>
>>                            <reference name="ServerInfo">
>>                                    <name>ServerInfo</name>
>>                            </reference>
>>
>>                            <xml-reference
>>             name="LoginModuleConfiguration">
>>                                    <log:login-config
>>             xmlns:log="http://geronimo.apache.org/xml/ns/loginconfig-2.0">
>>                                            <log:login-module
>>             control-flag="REQUIRED" wrap-principals="false">
>>                                                  
>>              <log:login-domain-name>PortalRealm</log:login-domain-name>
>>
>>             <log:login-module-class>com.liferay.portal.security.jaas.ext.tomcat.PortalLoginModule</log:login-module-class>
>>                                            </log:login-module>
>>                                    </log:login-config>
>>                            </xml-reference>
>>                    </gbean>
>>             </web-app>
>>
>>             *Other information: *
>>             For the record, the WAR file I'm trying to deploy is
>>             liferay-portal.war.
>>             Liferay comes with a Geronimo bundle for Geronimo v2.2.1.
>>             I wanted to try out a similar deployment on Geronimo v3.
>>             A diff utility run on liferay+geronimo2.2.1 bundle and a
>>             normal
>>             geronimo2.2.1 download showed that Liferay has made only
>>             2 additions - 1)
>>             Added all liferay WARs in /deploy 2) Added all shared JARs in
>>             /var/shared/lib. All other changes are disabling and
>>             removal of services
>>             like openejb which liferay does not use.
>>             The same deployment in Geronimo v3 throws
>>             ClassNotFoundException. Does the
>>             OSGI support in v3 require some additional configuration
>>             for sharedlib?
>>
>>             Thanks
>>             kshiraly
>>
>>             --
>>             View this message in context:
>>             http://apache-geronimo.328035.n3.nabble.com/Geronimo-v3-ClassNotFoundException-for-class-available-in-sharedlib-tp3895754p3895754.html
>>             Sent from the Users mailing list archive at Nabble.com.
>>
>>
>>
>>
>>         -- 
>>         Ivan
>>
>>
>>
>>
>>
>> -- 
>> Ivan
>


Mime
View raw message