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