Hello, I had a bit of trouble installing the latest Archiva .WAR (1.3.5) into a fresh Tomcat 6 (6.0.24-35) installation on a fresh RHEL 6.2 instance. After some running around, I found that Tomcat 6 for RHEL 6 no longer ships with nor loads a `setenv.sh` script via which to load environment values (such as $CATALINA_HOME) on start. As a result, Archiva would fail to load, as it defaulted to looking for a log directory in /logs, which doesn't exist by default and which it can't create.
In this case, I would have thought the work-around would be to edit application.properties (in webapps after the .WAR is decompressed) with a hard-coded location to the Tomcat log directory for appserver.base (and appserver.home). However, hard-coding an absolute path here (and in other configuration areas) seems to be ignored, and Archiva continues to require and write to /logs. I then had to also edit log4j.xml to add absolute paths to each of the log file entries to stop the logging madness. But this makes me wonder where else I'd need to look for and change values manually. Is there a more elegant method of getting Tomcat to recognize and pass along the proper values to Archiva in RHEL 6? Also, I now get a string of following Catalina severe log entries [1] on service stop and wonder whether they're related. Thanks, ~John [1] ... Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: A web application appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak. Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: A web application appears to have started a thread named [derby.antiGC] but has failed to stop it. This is very likely to create a memory leak. Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: A web application appears to have started a thread named [derby.rawStoreDaemon] but has failed to stop it. This is very likely to create a memory leak. Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: A web application appears to have started a thread named [derby.rawStoreDaemon] but has failed to stop it. This is very likely to create a memory leak. Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SEVERE: A web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@257b3135]) and a value of type [com.opensymphony.xwork2.inject.InternalContext[]] (value [[Lcom.opensymphony.xwork2.inject.InternalContext;@3adba1cc]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [XML bean definition resources currently being loaded]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. Mar 7, 2012 3:54:36 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SEVERE: A web application created a ThreadLocal with key of type [com.opensymphony.xwork2.ActionContext.ActionContextThreadLocal] (value [com.opensymphony.xwork2.ActionContext$ActionContextThreadLocal@33b17f92]) and a value of type [com.opensymphony.xwork2.ActionContext] (value [com.opensymphony.xwork2.ActionContext@4a2e64c1]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. ....
