tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vishwanath (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TOMEE-51) Deployment without web.xml not possible. With web.xml, tests do not run.
Date Sat, 26 Nov 2011 12:19:40 GMT

    [ https://issues.apache.org/jira/browse/TOMEE-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157449#comment-13157449
] 

Vishwanath commented on TOMEE-51:
---------------------------------

Hi,

I did a few changes. Then the tests worked fine, and also the app deployed properly.
Please see the attached zip.

The changes were:

1) Moved WEB-INF folder to webapps directory, so that maven would pick it up correctly
2) Added an empty beans.xml in WEB-INF
3) Added an empty beans.xml in src/test/resources/META-INF (I think, standaone apps require
beans.xml in META-INF and webapps require it in WEB-INF )
4) Had a JPA related exception, that required adding a  JavaAgent in pom.xml ( http://openejb.apache.org/javaagent.html
)

PS: Tests run through maven would work fine (since JavaAgent was added).
Eclipse based test (without using maven) would complain of a missing JavaAgent.

And I used beta-2 snapshot.
                
> Deployment without web.xml not possible. With web.xml, tests do not run.
> ------------------------------------------------------------------------
>
>                 Key: TOMEE-51
>                 URL: https://issues.apache.org/jira/browse/TOMEE-51
>             Project: TomEE
>          Issue Type: Bug
>    Affects Versions: 1.0.0-beta-1
>         Environment: Mac OS X Lion
>            Reporter: Tobias Bayer
>            Priority: Critical
>         Attachments: webxmlbug-corrected.zip, webxmlbug.zip
>
>
> 1. Steps to reproduce the issue:
>   a) unzip the included sample project
>   b) delete the folder src/main/resources/WEB-INF
>   c) mvn package
>   d) start TomEE
>   e) copy the created war file to <TOMEE>/webapps
> 2. Expected behaviour:
>   TomEE deploys the application
>   The application can be visited at localhost:8080
> 3. Actual behaviour:
>   The following exception is thrown (see catalina.out):
>   
> org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHo
> st[localhost].StandardContext[/football-bet-1.0-SNAPSHOT]]
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
>         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)
>         at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:932)
>         at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:723)
>         at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
>         at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1370)
>         at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:294)
>         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>         at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1242)
>         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(Contain
> erBase.java:1400)
>         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1410)
>         at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1389)
>         at java.lang.Thread.run(Thread.java:680)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>         at java.util.ArrayList.RangeCheck(ArrayList.java:547)
>         at java.util.ArrayList.get(ArrayList.java:322)
>         at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.loadWebModule(TomcatWebAppBuilder.java:892)
>         at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:879)
>         at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:416)
>         at org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:377)
>         at org.apache.openejb.tomcat.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:117)
>         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
>         at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
>         ... 15 more
> Alternative steps:
>  - Do not delete WEB-INF in 1b.
>  - mvn test
>  --> Tests do not pass with the following exception:
>    org.apache.openejb.OpenEjbContainer$NoModulesFoundException: No modules found to deploy.
> 1)Maybe descriptors are placed in incorrect location.
> Descriptors could go under: 
> <base-dir>/META-INF or <base-dir>/WEB-INF
> but not directly under <base-dir>
> Check 'Application Discovery via the Classpath' docs page for more info
> 2)Maybe no modules are present in the classpath.
> Is 'openejb.base' system property pointing to the intended location?
> 	at org.apache.openejb.util.Exceptions.newNoModulesFoundException(Exceptions.java:98)
> 	at org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:415)
> 	at org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:231)
> 	at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
> 	at com.codebrickie.footballbet.service.ServiceBeanTest.bootContainer(ServiceBeanTest.java:23)
> 	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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> java.lang.NullPointerException
> 	at com.codebrickie.footballbet.service.ServiceBeanTest.shutdownContainer(ServiceBeanTest.java:29)
> 	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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:37)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message