Running Jaspersoft at AWS. We renewed our license and when we bounced the server as per this article http://community.jaspersoft.com/documentation/jaspersoft-amazon-web-serv..., the server will not start. In reviewing the catalina.out log, we see the following error:
java.io.IOException: Failed to access resource /WEB-INF/lib/RedshiftJDBC41.jar
at org.apache.catalina.loader.WebappLoader.setRepositories(WebappLoader.java:981)
at org.apache.catalina.loader.WebappLoader.startInternal(WebappLoader.java:604)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5389)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: javax.naming.NameNotFoundException: Resource RedshiftJDBC41.jar not found
at org.apache.naming.resources.BaseDirContext.lookup(BaseDirContext.java:481)
at org.apache.catalina.loader.WebappLoader.setRepositories(WebappLoader.java:979)
... 14 more
We noticed that prior to the tomcat7 stop and start, the log files were owned by root:root. Following the restart, the log files were owned by tomcat:tomcat. We also noticed that WEB-INF/lib/RedshiftJDBC41.jar is owned by root:root.
We've logged in to the server as root and have attempted to start tomcat7 as root, but the process and logs end up being owned by tomcat.