Bug#651471: tomcat7: I can no longer specify a war file as a docBase in a 'Context' element

Latter, Antoine Antoine.Latter at legis.wisconsin.gov
Thu Dec 8 21:17:55 UTC 2011


Package: tomcat7
Version: 7.0.23-1
Severity: normal

Dear Maintainer,

In tomcat6 (version 6.0.32-7), I was able to place the following XML file in /etc/tomcat6/Catalina/localhost:

>>>>>
<Context path="/solr" docBase="/usr/opt/solr/apache-solr-3.3.0.war"
   debug="0" privileged="true" allowLinking="true" crossContext="true">
  <!-- make symlinks work in Tomcat -->
  <Resources className="org.apache.naming.resources.FileDirContext" allowLinking="true" />

  <Environment name="solr/home" type="java.lang.String" value="/usr/opt/solr/home/solr" override="true" />
</Context>
<<<<<

However when trying this with tomcat7 (placing the file in /etc/tomcat7/Catalina/localhost) I receive the error pasted in bellow.

If I manually explode the WAR file into a folder, and set that folder as my docBase I do not receive the error and the application behaves as expected.

I haven't tweaked anything in /etc/tomcat7 other than as described above (well, I did after I received the error, but not before).

I have modified /etc/defaults/tomcat7 to set JAVA_HOME to /usr/lib/jvm/java-7-openjdk-amd64.

I wasn't able to find anything in the upstream release-notes making reference to this, but I didn't spend a lot of time on it.

The upstream documentation for the Context element seems to state that a WAR file is allowed in this attribute:
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Common_Attributes

Needing to manually explode WAR files will complicate the automated deployment of web-apps.

I don't see any obviously related bugs filed against tomcat 7 in the tomcat project Bugzilla.

Error in /var/log/tomcat7/catalina.out:

>>>>>
INFO: Starting service Catalina
Dec 08, 2011 2:24:35 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
Dec 08, 2011 2:24:35 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /etc/tomcat7/Catalina/localhost/host-manager.xml
Dec 08, 2011 2:24:36 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /etc/tomcat7/Catalina/localhost/manager.xml
Dec 08, 2011 2:24:36 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /etc/tomcat7/Catalina/localhost/solr.xml
Dec 08, 2011 2:24:36 PM org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'debug' to '0' did not find a matching property.
Dec 08, 2011 2:24:36 PM org.apache.catalina.core.StandardContext resourcesStart
SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base /usr/opt/solr/apache-solr-3.3.0.war does not exist or is not a readable directory
        at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:140)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4880)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5060)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

Dec 08, 2011 2:24:36 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error in resourceStart()
Dec 08, 2011 2:24:36 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error getConfigured
Dec 08, 2011 2:24:36 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/solr] startup failed due to previous errors
Dec 08, 2011 2:24:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
Dec 08, 2011 2:24:37 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Dec 08, 2011 2:24:37 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1530 ms
<<<<<

Info for war file:
>>>>>
$ stat /usr/opt/solr/apache-solr-3.3.0.war 
  File: `/usr/opt/solr/apache-solr-3.3.0.war'
  Size: 7451862   	Blocks: 14560      IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 281761      Links: 1
Access: (0644/-rw-r--r--)  Uid: (  113/ tomcat7)   Gid: (  121/ tomcat7)
Access: 2011-12-08 10:35:57.815075270 -0600
Modify: 2011-11-30 13:33:55.728386771 -0600
Change: 2011-11-30 13:36:51.384389003 -0600
 Birth: -
<<<<<

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages tomcat7 depends on:
ii  adduser                3.113      
ii  debconf [debconf-2.0]  1.5.41     
ii  tomcat7-common         7.0.23-1   
ii  ucf                    3.0025+nmu2

Versions of packages tomcat7 recommends:
ii  authbind  1.2.0

Versions of packages tomcat7 suggests:
pn  libtcnative-1     <none>  
pn  tomcat7-admin     7.0.23-1
pn  tomcat7-docs      <none>  
pn  tomcat7-examples  <none>  
pn  tomcat7-user      <none>  

-- Configuration Files:
/etc/logrotate.d/tomcat7 changed:
/var/log/tomcat7/catalina.out {
  copytruncate
  weekly
  rotate 52
  compress
  missingok
  create 640 tomcat7 adm
}

/etc/tomcat7/tomcat-users.xml [Errno 13] Permission denied: u'/etc/tomcat7/tomcat-users.xml'

-- debconf information:
  tomcat7/groupname: tomcat7
  tomcat7/username: tomcat7
  tomcat7/javaopts: -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC



More information about the pkg-java-maintainers mailing list