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 <[email protected] <mailto:[email protected]>>

    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 <[email protected]
    <mailto:[email protected]>> 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 <[email protected]
        <mailto:[email protected]>>

            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

Reply via email to