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]> > 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 > 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]> 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]> >> >>> 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
