Hey XNAT experts.
I have problems very similar to this post:
https://groups.google.com/forum/#!topic/xnat_discussion/Latg4EOf83si.e. issues like these:
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]. I had a similar problem once before and I solved it by changing the permissions but this time it has not helped.
Background: I'm preparing to upgrade our 1.6.5 to 1.7.4, later I will try to move the database to a new server so I'm practising and preparing by preforming a clean from scratch install of 1.7.4 on a clean ubuntu server. I have followed all the steps but run into issues. So here the logs follow and some key information on what I have done so far. So there will be a lot of info below but I will try to strucure it. Can something be wrong with my JAVA and CATALINA paths? Is tomcat actually using xnat as user?
E.g. this error in the log:
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]. xnat has full rights as you see below. But still can't create common or classes. Also potential problem with postgresql? Both v10 and 9.3 seem to be installed. It seems like it is using v10.
xnat@Vader:/var/log/tomcat7$ psql --version
psql (PostgreSQL) 10.1
xnat@Vader:/var/log/tomcat7$
Is this a problem? It seems to use 10 but there is only 9 under /var/lib/postgresql/:
xnat@Vader:/var/log/tomcat7$ ls -l /var/lib/postgresql/
total 8
drwxr-xr-x 3 postgres postgres 4096 jan 31 11:48 9.3
drwxrwxr-x 2 postgres postgres 4096 jan 31 11:53 matlab
But both are under /usr/lib/postgresql:
xnat@Vader:/var/log/tomcat7$ ls -la /usr/lib/postgresql/
total 24
drwxr-xr-x 4 root root 4096 jan 31 11:48 .
drwxr-xr-x 151 root root 12288 jan 31 11:48 ..
drwxr-xr-x 3 root root 4096 jan 31 11:48 10
drwxr-xr-x 4 root root 4096 jan 31 11:48 9.3
I did install just version 9 by: sudo apt-get install postgresql-9.3 pgadmin3 (not as the xnat user)
All of this is structured below!
Catalina.out:Listening for transport dt_socket at address: 8000
Feb 01, 2018 9:10:13 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:10:13 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:10:13 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:10:13 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:10:13 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:10:13 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/7.0.68 (Ubuntu)
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Jun 27 2016 18:13:17 UTC
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 7.0.68.0
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Linux
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 4.10.0-42-generic
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.7.0_95-b00
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: /var/lib/tomcat7
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: /usr/share/tomcat7
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.awt.headless=true
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Xms512m
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Xmx2g
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:+UseConcMarkSweepGC
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:-OmitStackTraceInFastThrow
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:MaxPermSize=512m
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:+CMSIncrementalMode
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:+CMSClassUnloadingEnabled
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Xdebug
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dxnat.home=/data/xnat/home
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/var/lib/tomcat7
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/usr/share/tomcat7
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp
Feb 01, 2018 9:10:14 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Feb 01, 2018 9:10:14 AM org.apache.coyote.AbstractProtocol init
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
java.net.BindException: Address already in use <null>:8080
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:413)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:650)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:820)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:642)
at org.apache.catalina.startup.Catalina.load(Catalina.java:667)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400)
... 17 more
Feb 01, 2018 9:10:14 AM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:820)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:642)
at org.apache.catalina.startup.Catalina.load(Catalina.java:667)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:982)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 12 more
Caused by: java.net.BindException: Address already in use <null>:8080
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:413)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:650)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
... 13 more
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400)
... 17 more
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 536 ms
Feb 01, 2018 9:10:14 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Feb 01, 2018 9:10:14 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.68 (Ubuntu)
Feb 01, 2018 9:10:14 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat7/webapps/ROOT.war
Feb 01, 2018 9:10:23 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [] startup failed due to previous errors
Feb 01, 2018 9:10:24 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /var/lib/tomcat7/webapps/ROOT.war has finished in 9,744 ms
Feb 01, 2018 9:10:24 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT_old
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.StandardContext setPath
WARNING: A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criteria and has been changed to []
Feb 01, 2018 9:10:24 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Feb 01, 2018 9:10:24 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat7/webapps/ROOT_old has finished in 256 ms
Feb 01, 2018 9:10:24 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 10056 ms
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]:
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
at org.apache.catalina.startup.Catalina.await(Catalina.java:781)
at org.apache.catalina.startup.Catalina.start(Catalina.java:727)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
Feb 01, 2018 9:10:24 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Feb 01, 2018 9:10:24 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Feb 01, 2018 9:10:24 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]Localhost.logFeb 01, 2018 9:10:23 AM org.apache.catalina.core.ApplicationContext log
INFO: 1 Spring WebApplicationInitializers detected on classpath
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
at org.apache.catalina.core.ApplicationContext.getInitParameterNames(ApplicationContext.java:368)
at org.apache.catalina.core.ApplicationContextFacade.getInitParameterNames(ApplicationContextFacade.java:367)
at org.apache.catalina.core.StandardContext$NoPluggabilityServletContext.getInitParameterNames(StandardContext.java:6994)
at org.springframework.web.context.support.WebApplicationContextUtils.registerEnvironmentBeans(WebApplicationContextUtils.java:229)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.postProcessBeanFactory(AbstractRefreshableWebApplicationContext.java:165)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:522)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5066)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
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:745)
Feb 01, 2018 9:10:24 AM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
/data/xnat/home/logs/spring.log2018-02-01 09:10:24,216 [localhost-startStop-1] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
at org.apache.catalina.core.ApplicationContext.getInitParameterNames(ApplicationContext.java:368)
at org.apache.catalina.core.ApplicationContextFacade.getInitParameterNames(ApplicationContextFacade.java:367)
at org.apache.catalina.core.StandardContext$NoPluggabilityServletContext.getInitParameterNames(StandardContext.java:6994)
at org.springframework.web.context.support.WebApplicationContextUtils.registerEnvironmentBeans(WebApplicationContextUtils.java:229)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.postProcessBeanFactory(AbstractRefreshableWebApplicationContext.java:165)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:522)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5066)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
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:745)
2018-02-01 09:10:24,260 [localhost-startStop-1] WARN org.springframework.web.context.support.AnnotationConfigWebApplicationContext - Exception thrown from LifecycleProcessor on context close
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Thu Feb 01 09:10:24 GMT+01:00 2018]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:427)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:999)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:958)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:583)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:116)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5113)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5779)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:159)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
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:745)Key setup stuff:Folder structure:xnat@Vader:/var/log/tomcat7$ tree /data/
/data/
└── xnat
├── archive
├── build
├── cache
├── ftp
├── home
│ ├── config
│ │ └── xnat-conf.properties
│ ├── logs
│ │ ├── access.log
│ │ ├── anon.log
│ │ ├── application.log
│ │ ├── automation.log
│ │ ├── avalon.log
│ │ ├── axis.log
│ │ ├── configuration.log
│ │ ├── dicom.log
│ │ ├── identifiers.log
│ │ ├── jms.log
│ │ ├── launch.log
│ │ ├── orm.log
│ │ ├── pipeline.log
│ │ ├── prearchive.log
│ │ ├── received.log
│ │ ├── remote.log
│ │ ├── restlet.log
│ │ ├── scheduler.log
│ │ ├── security.log
│ │ ├── spring.log
│ │ ├── sql.log
│ │ ├── tasks.log
│ │ ├── turbine.log
│ │ ├── velocity.log
│ │ ├── xapi.log
│ │ ├── xdat.log
│ │ └── xnatfs.log
│ ├── plugins
│ └── work
├── pipeline
└── prearchive
12 directories, 28 files
xnat@Vader:/var/log/tomcat7$
/etc/tomca7/server.xmlxnat@Vader:/var/log/tomcat7$ cat /etc/tomcat7/server.xml
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->
<!--APR library loader. Documentation at /docs/apr.html -->
<!--
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
-->
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the BIO implementation that requires the JSSE
style configuration. When using the APR/native implementation, the
OpenSSL style configuration is required as described in the APR/native
documentation -->
<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
/data/xnat/home/conf/xnat-conf.propertiesxnat@Vader:/var/log/tomcat7$ cat /data/xnat/home/config/xnat-conf.properties
datasource.driver=org.postgresql.Driver
datasource.url=jdbc:postgresql://localhost/xnat
datasource.username=xnat
datasource.password=xnat
hibernate.dialect=org.hibernate.dialect.PostgreSQL9Dialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=true
xnat@Vader:/var/log/tomcat7$
/etc/default/tomcat7xnat@Vader:/var/log/tomcat7$ cat /etc/default/tomcat7
# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=xnat# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=xnat# The home directory of the Java development kit (JDK). You need at least
# JDK version 6. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Oracle JDK, and various Java SE 6+ versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
#JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
# You may pass JVM startup parameters to Java here. If unset, the default
# options will be: -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC
#
# Use "-XX:+UseConcMarkSweepGC" to enable the CMS garbage collector (improved
# response time). If you use that option and you run Tomcat on a machine with
# exactly one CPU chip that contains one or two cores, you should also add
# the "-XX:+CMSIncrementalMode" option.
#JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"
JAVA_OPTS="-Djava.awt.headless=true -Xms512m -Xmx2g -XX:+UseConcMarkSweepGC -XX:-OmitStackTraceInFastThrow"
JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=512m -XX:+CMSIncrementalMode -XX:+CMSClassUnloadingEnabled"# To enable remote debugging uncomment the following line.
# You will then be able to use a java debugger on port 8000.
JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
JAVA_OPTS="${JAVA_OPTS} -Dxnat.home=/data/xnat/home"# Java compiler to use for translating JavaServer Pages (JSPs). You can use all
# compilers that are accepted by Ant's build.compiler property.
#JSP_COMPILER=javac
# Use the Java security manager? (yes/no, default: no)
#TOMCAT7_SECURITY=no
# Number of days to keep logfiles in /var/log/tomcat7. Default is 14 days.
#LOGFILE_DAYS=14
# Whether to compress logfiles older than today's
#LOGFILE_COMPRESS=1
# Location of the JVM temporary directory
# WARNING: This directory will be destroyed and recreated at every startup !
#JVM_TMP=/tmp/tomcat7-temp
# If you run Tomcat on port numbers that are all higher than 1023, then you
# do not need authbind. It is used for binding Tomcat to lower port numbers.
# (yes/no, default: no)
#AUTHBIND=no
xnat@Vader:/var/log/tomcat7$
Not used to Java but I set up this in the /etc/profile:export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_HOME="/usr/share/tomcat7"
export CATALINA_BASE="/var/lib/tomcat7"
Java -versionxnat@Vader:/var/log/tomcat7$ java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-3)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
xnat@Vader:/var/log/tomcat7$
Java Path
xnat@Vader:/var/log/tomcat7$ ls -l /usr/lib/jvm/
total 4
lrwxrwxrwx 1 root root 20 mar 27 2016 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
drwxr-xr-x 7 root root 4096 jan 31 11:18 java-7-openjdk-amd64
xnat@Vader:/var/log/tomcat7$
Catalina Home pathxnat@Vader:/var/log/tomcat7$ ls -la /usr/share/tomcat7
total 40
drwxr-xr-x 4 xnat xnat 4096 jan 31 17:54 .
drwxr-xr-x 324 root root 12288 jan 31 11:48 ..
drwxr-xr-x 2 xnat xnat 4096 jan 31 11:23 bin
-rw-r--r-- 1 xnat xnat 39 feb 18 2016 defaults.md5sum
-rw-r--r-- 1 xnat xnat 1958 feb 18 2016 defaults.template
drwxr-xr-x 2 xnat xnat 4096 jan 31 11:23 lib
-rw-r--r-- 1 xnat xnat 53 feb 18 2016 logrotate.md5sum
-rw-r--r-- 1 xnat xnat 118 feb 18 2016 logrotate.template
xnat@Vader:/var/log/tomcat7$
Catalina Base path
xnat@Vader:/var/log/tomcat7$ ls -la /var/lib/tomcat7
total 24
drwxr-xr-x 6 xnat xnat 4096 jan 31 11:23 .
drwxr-xr-x 73 root root 4096 jan 31 11:48 ..
drwxr-xr-x 3 xnat xnat 4096 jan 31 11:23 common
lrwxrwxrwx 1 xnat xnat 12 jun 27 2016 conf -> /etc/tomcat7
lrwxrwxrwx 1 xnat xnat 17 jun 27 2016 logs -> ../../log/tomcat7
drwxr-xr-x 3 xnat xnat 4096 jan 31 11:23 server
drwxr-xr-x 3 xnat xnat 4096 jan 31 11:23 shared
drwxrwxr-x 4 xnat xnat 4096 feb 1 09:10 webapps
lrwxrwxrwx 1 xnat xnat 19 jun 27 2016 work -> ../../cache/tomcat7
xnat@Vader:/var/log/tomcat7$
Postgresql version
xnat@Vader:/var/log/tomcat7$ psql
psql (10.1, server 9.3.20)
Type "help" for help.
xnat=>
and
xnat@Vader:/var/log/tomcat7$ psql --version
psql (PostgreSQL) 10.1
xnat@Vader:/var/log/tomcat7$
Postgresql /usr/lib/postgressql:
xnat@Vader:/var/log/tomcat7$ ls -la /usr/lib/postgresql/
total 24
drwxr-xr-x 4 root root 4096 jan 31 11:48 .
drwxr-xr-x 151 root root 12288 jan 31 11:48 ..
drwxr-xr-x 3 root root 4096 jan 31 11:48 10
drwxr-xr-x 4 root root 4096 jan 31 11:48 9.3
xnat@Vader:/var/log/tomcat7$
Postgresql /var/lib/postgressql:
xnat@Vader:/var/log/tomcat7$ ls -la /var/lib/postgresql/
total 24
drwxr-xr-x 4 postgres postgres 4096 jan 31 11:54 .
drwxr-xr-x 73 root root 4096 jan 31 11:48 ..
drwxr-xr-x 3 postgres postgres 4096 jan 31 11:48 9.3
-rw------- 1 postgres postgres 53 jan 31 11:54 .bash_history
drwxrwxr-x 2 postgres postgres 4096 jan 31 11:53 matlab
-rw------- 1 postgres postgres 18 jan 31 11:54 .psql_history
xnat@Vader:/var/log/tomcat7$
Postgresql /var/lib/postgressq/9.3
xnat@Vader:/var/log/tomcat7$ ls -la /var/lib/postgresql/9.3/
total 12
drwxr-xr-x 3 postgres postgres 4096 jan 31 11:48 .
drwxr-xr-x 4 postgres postgres 4096 jan 31 11:54 ..
drwx------ 15 postgres postgres 4096 jan 31 11:55 main
xnat@Vader:/var/log/tomcat7$
Permissions1:
xnat@Vader:/var/log/tomcat7$ ls -la /var/lib/tomcat7
total 24
drwxr-xr-x 6 xnat xnat 4096 jan 31 11:23 .
drwxr-xr-x 73 root root 4096 jan 31 11:48 ..
drwxr-xr-x 3 xnat xnat 4096 jan 31 11:23 common
lrwxrwxrwx 1 xnat xnat 12 jun 27 2016 conf -> /etc/tomcat7
lrwxrwxrwx 1 xnat xnat 17 jun 27 2016 logs -> ../../log/tomcat7
drwxr-xr-x 3 xnat xnat 4096 jan 31 11:23 server
drwxr-xr-x 3 xnat xnat 4096 jan 31 11:23 shared
drwxrwxr-x 4 xnat xnat 4096 feb 1 09:10 webapps
lrwxrwxrwx 1 xnat xnat 19 jun 27 2016 work -> ../../cache/tomcat7
xnat@Vader:/var/log/tomcat7$
Permissions2:xnat@Vader:/var/log/tomcat7$ ls -l /usr/share/tomcat7
total 24
drwxr-xr-x 2 xnat xnat 4096 jan 31 11:23 bin
-rw-r--r-- 1 xnat xnat 39 feb 18 2016 defaults.md5sum
-rw-r--r-- 1 xnat xnat 1958 feb 18 2016 defaults.template
drwxr-xr-x 2 xnat xnat 4096 jan 31 11:23 lib
-rw-r--r-- 1 xnat xnat 53 feb 18 2016 logrotate.md5sum
-rw-r--r-- 1 xnat xnat 118 feb 18 2016 logrotate.template
xnat@Vader:/var/log/tomcat7$
Permissions3:xnat@Vader:/var/log/tomcat7$ ls -l /etc/tomcat7/
total 204
drwxrwxr-x 3 xnat xnat 4096 feb 1 09:01 Catalina
-rw-r--r-- 1 xnat xnat 6506 jun 27 2016 catalina.properties
-rw-r--r-- 1 xnat xnat 1394 jan 25 2014 context.xml
-rw-r--r-- 1 xnat xnat 2370 feb 18 2016 logging.properties
drwxr-xr-x 2 xnat xnat 4096 feb 1 09:00 policy.d
-rw-r--r-- 1 xnat xnat 6678 jun 27 2016 server.xml
-rw-r----- 1 xnat xnat 1530 jan 25 2014 tomcat-users.xml
-rw-r--r-- 1 xnat xnat 168099 nov 25 2015 web.xml
xnat@Vader:/var/log/tomcat7$
Permissions4:
xnat@Vader:/var/log/tomcat7$ ls -l /etc/default/tomcat7
-rw-r--r-- 1 xnat xnat 2260 jan 31 15:07 /etc/default/tomcat7
xnat@Vader:/var/log/tomcat7$
Permissions5:
xnat@Vader:/var/log/tomcat7$ ls -la /var/log/tomcat7/
total 44
drwxr-x--- 2 xnat xnat 4096 feb 1 09:10 .
drwxrwxr-x 15 root syslog 4096 feb 1 07:35 ..
-rw-r--r-- 1 xnat xnat 13524 feb 1 09:10 catalina.2018-02-01.log
-rw-r--r-- 1 xnat root 13575 feb 1 09:10 catalina.out
-rw-r--r-- 1 xnat xnat 2766 feb 1 09:10 localhost.2018-02-01.log
-rw-r--r-- 1 xnat xnat 0 feb 1 09:10 localhost_access_log.2018-02-01.txt
xnat@Vader:/var/log/tomcat7$
Webapp
The ROOT.war is generating a /var/lib/tomcat7/webapps/ROOT dir:
xnat@Vader:/var/log/tomcat7$ ls -la /var/lib/tomcat7/webapps/
total 187544
drwxrwxr-x 4 xnat xnat 4096 feb 1 09:10 .
drwxr-xr-x 6 xnat xnat 4096 jan 31 11:23 ..
drwxr-xr-x 17 xnat xnat 4096 feb 1 09:10 ROOT
drwxr-xr-x 3 xnat xnat 4096 jan 31 11:23 ROOT_old
-rwxr-xr-x 1 xnat xnat 192027012 jan 31 13:57 ROOT.war
xnat@Vader:/var/log/tomcat7$
And:
xnat@Vader:/var/log/tomcat7$ ls -la /var/lib/tomcat7/webapps/ROOT
total 72
drwxr-xr-x 17 xnat xnat 4096 feb 1 09:10 .
drwxrwxr-x 4 xnat xnat 4096 feb 1 09:10 ..
drwxr-xr-x 2 xnat xnat 4096 feb 1 09:10 axis
drwxr-xr-x 3 xnat xnat 4096 feb 1 09:10 base-templates
-rw-r--r-- 1 xnat xnat 1150 jul 6 2017 favicon.ico
drwxr-xr-x 2 xnat xnat 4096 feb 1 09:10 images
drwxr-xr-x 2 xnat xnat 4096 feb 1 09:10 META-INF
drwxr-xr-x 5 xnat xnat 4096 feb 1 09:10 page
drwxr-xr-x 2 xnat xnat 4096 feb 1 09:10 pdf
drwxr-xr-x 4 xnat xnat 4096 feb 1 09:10 resources
drwxr-xr-x 31 xnat xnat 4096 feb 1 09:10 scripts
drwxr-xr-x 2 xnat xnat 4096 feb 1 09:10 setup
drwxr-xr-x 5 xnat xnat 4096 feb 1 09:10 style
drwxr-xr-x 3 xnat xnat 4096 feb 1 09:10 templates
drwxr-xr-x 4 xnat xnat 4096 feb 1 09:10 themes
drwxr-xr-x 7 xnat xnat 4096 feb 1 09:10 WEB-INF
drwxr-xr-x 6 xnat xnat 4096 feb 1 09:10 xdat-templates
drwxr-xr-x 5 xnat xnat 4096 feb 1 09:10 xnat-templates
xnat@Vader:/var/log/tomcat7$
Thanks a bunch!