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 >
