On Oct 20, 2009, at 10:23 AM, Quintin Beukes wrote:

As far as I know, OpenEJB for Tomcat doesn't support EARs.

It support EARs. It's just not a popular format as you can put all the EJBs you like right in WAR file.

Adam, try moving the ibatis-common-2.jar to EMApplicationServiceEAR/ lib/ where it will be considered a simple library per Java EE spec rules. Same would apply to any libraries which are not Java EE modules.

If you are dealing with the majority use case of an ear with one webapp, you do have the option to put all your libraries (even if they are ejbs) into your webapp WEB-INF/lib/ directory and deploy just the webapp. We call this Collapsed EAR (basically the war becomes the ear and ejbs and servlets all share the same classloader) and is becoming a standard part of Java EE 6.


-David



On Tue, Oct 20, 2009 at 6:46 PM, adam.granger <[email protected]> wrote:

Hi,

Tomcat : 5.5.20
OpenEJB : 3.1.2
Java : 1.5.0_18
O/S : Windows XP sp2

I am trying to deploy an EAR where all my ejb and utility jars are in the root of the EAR file. I get the following error when openejb tries to deploy
the EAR:

2009-10-20 18:25:04,032 - WARN  - Error deploying application
C:\servers\apache-tomcat-5.5.20-openejb\webapps \EMApplicationServiceEAR.ear org.apache.openejb.OpenEJBException: Unable to determine the module type of
ibatis-common-2.jar: Exception: Unknown module type:
url=file:/C:/servers/apache-tomcat-5.5.20-openejb/webapps/ EMApplicationServiceEAR/ibatis-common-2.jar:
Unknown module type:
url=file:/C:/servers/apache-tomcat-5.5.20-openejb/webapps/ EMApplicationServiceEAR/ibatis-common-2.jar
       at
org .apache .openejb .config.DeploymentLoader.createAppModule(DeploymentLoader.java:267)
       at
org .apache.openejb.config.DeploymentLoader.load(DeploymentLoader.java: 130)
       at
org .apache .openejb .tomcat .catalina.TomcatWebAppBuilder.checkHost(TomcatWebAppBuilder.java:467)
       at
org .apache .openejb .tomcat .catalina .GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:74)
       at
org .apache .catalina .util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
       at
org .apache .catalina.core.ContainerBase.backgroundProcess(ContainerBase.java: 1305)
       at
org.apache.catalina.core.ContainerBase $ContainerBackgroundProcessor.processChildren(ContainerBase.java: 1569)
       at
org.apache.catalina.core.ContainerBase $ContainerBackgroundProcessor.processChildren(ContainerBase.java: 1578)
       at
org.apache.catalina.core.ContainerBase $ContainerBackgroundProcessor.run(ContainerBase.java:1558)
       at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.openejb.config.UnknownModuleTypeException: Unknown
module type:
url=file:/C:/servers/apache-tomcat-5.5.20-openejb/webapps/ EMApplicationServiceEAR/ibatis-common-2.jar
       at
org .apache .openejb .config.DeploymentLoader.discoverModuleType(DeploymentLoader.java: 1212)
       at
org .apache .openejb .config.DeploymentLoader.createAppModule(DeploymentLoader.java:254)
       ... 9 more

I have a vanilla installation of openejb and tomcat. Suspect it has
something to do with classpath or class loader as the specific jar does not
matter, it just complains about the next one.

Can somebody please help?
--
Adam
--
View this message in context: 
http://www.nabble.com/org.apache.openejb.OpenEJBException%3A-Unable-to-determine-the-module-type-of-tp25978552p25978552.html
Sent from the OpenEJB User mailing list archive at Nabble.com.




Reply via email to