[
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)