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

Vladimir Nisevic commented on ISIS-1358:
----------------------------------------

Hi Martin, I will create new ticket with Swagger issue. In this issue I still 
believe that default generated war is not deployable on Tomcat.

Here the steps to reproduce:
1. Create archetype as described in guide
{code}
mvn archetype:generate \
-D archetypeGroupId=org.apache.isis.archetype \
-D archetypeArtifactId=simpleapp-archetype \
-D archetypeVersion=1.12.1 \
-D groupId=com.mycompany \
-D artifactId=myapp \
-D version=1.0-SNAPSHOT \
-B
{code}

2. execute "mvn clean install"
3. deploy simpleapp.war to external tomcat, eg. thru tomcat manager webapp
4. ERROR: starting of simpleapp.war will fail, in Tomcat (my Tomcat version 
8.0.33) log will appear
{code}
13-May-2016 06:42:30.922 SEVERE [http-apr-8080-exec-31] 
org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: 
start: 
 org.apache.catalina.LifecycleException: Failed to start component 
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/simpleapp]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
        at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
        at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:467)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1612)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at 
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown 
Source)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
        at 
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1451)
        at 
org.apache.catalina.manager.HTMLManagerServlet.upload(HTMLManagerServlet.java:285)
        at 
org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:206)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at 
org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at 
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
        at 
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500)
        at 
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
        at 
org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.isEnabled(WebSocketServerContainerInitializer.java:133)
        at 
org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.onStartup(WebSocketServerContainerInitializer.java:148)
        at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5240)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 45 more
{code}

Fix would be, as advised by Jörg and slightly adapted by my experience, to 
adapt the webapp/pom.xml.

{code}
                 <plugin>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                            <warName>simpleapp</warName>
                            <archive>
                                <manifest>
                                    <addClasspath>false</addClasspath>
                                </manifest>
                                <manifestEntries>
                                    
<Build-Time>${maven.build.timestamp}</Build-Time>
                                    <Build-Host>${agent.name}</Build-Host>
                                    <Build-User>${user.name}</Build-User>
                                    <Build-Maven>Maven 
${maven.version}</Build-Maven>
                                    <Build-Java>${java.version}</Build-Java>
                                    <Build-OS>${os.name}</Build-OS>
                                    
<Build-Label>${project.version}</Build-Label>
                                </manifestEntries>
                            </archive>
                            <packagingExcludes>
                                WEB-INF/lib/isis-core-webserver*.jar,
                                WEB-INF/lib/javax.servlet-api-*.jar,
                                WEB-INF/lib/javax.websocket-api-*.jar,
                                WEB-INF/lib/javax-websocket-server-impl-*.jar,
                                WEB-INF/lib/jetty-*.jar
                            </packagingExcludes>
                        </configuration>
                    </plugin>
{code}

Question to you: Do you think this fix should be part of default generated 
simpleapp, otherwise the war is not deploayble. 

> Simpleapp created from archetype and packaged to war fails when deploying to 
> Tomcat
> -----------------------------------------------------------------------------------
>
>                 Key: ISIS-1358
>                 URL: https://issues.apache.org/jira/browse/ISIS-1358
>             Project: Isis
>          Issue Type: Bug
>          Components: Archetype: SimpleApp
>    Affects Versions: 1.12.1
>         Environment: Windows 10, Windows 7
> Tomcat version: Apache Tomcat/8.0.33
> JVM: 1.8.0_77-b03
>            Reporter: Vladimir Nisevic
>            Assignee: Dan Haywood
>         Attachments: catalina.2016-03-31.log, 
> restfulServicesWhenLaunchingWithTomcat.png, swagger.issue.png
>
>
> Steps to reproduce:
> * Created simpleapp from archetype (Version 1.12.0)
> * Execute mvn clean package
> * Take the file \webapp\target\simpleapp.war and deploy to tomcat thru e.g. 
> manager UI (http://localhost:8080/manager/html) 
> Attached the catalina.log



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to