Apache Tomcat Maven Plugin
  1. Apache Tomcat Maven Plugin
  2. MTOMCAT-194

Odd error message in switching from Codehaus to Maven Tomcat6 plugin


    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: 2.1
    • Component/s: tomcat6
    • Labels:
    • Environment:
      Ubuntu, JDK 7, CXF 2.6.x branch.


      Hi, in the CXF JAX-RS (REST) plugin, if I switch from the Codehaus Tomcat plugin to the Tomcat6 plugin (not Tomcat7 because this 2.6.x branch of CXF needs to be Java 5 compatible) and run "mvn clean install" on a project generated from the archetype it fails with a strange error of "Document base /media/work1/opensource/testrest/target/$

      {project.build.finalName" not being available. Note there's no ending "}

      " in that error message; also my generated project make no reference to a project.build.finalName anywhere.

      Exact error message w/"mvn clean install":

      [INFO] Building war: /media/work1/opensource/testrest/target/testrest-0.0.1-SNAPSHOT.war
      [INFO] WEB-INF/web.xml already added, skipping
      [INFO] <<< tomcat6-maven-plugin:2.0:run-war (start-tomcat) @ testrest <<<
      [INFO] — tomcat6-maven-plugin:2.0:run-war (start-tomcat) @ testrest —
      [INFO] Running war on http://localhost:43769/jaxrs-service
      [INFO] Creating Tomcat server configuration at /media/work1/opensource/testrest/target/tomcat
      Dec 08, 2012 3:22:25 PM org.apache.catalina.startup.Embedded start
      INFO: Starting tomcat server
      Dec 08, 2012 3:22:25 PM org.apache.catalina.core.StandardEngine start
      INFO: Starting Servlet Engine: Apache Tomcat/6.0.35
      Dec 08, 2012 3:22:25 PM org.apache.catalina.core.StandardContext resourcesStart
      SEVERE: Error starting static Resources
      java.lang.IllegalArgumentException: Document base /media/work1/opensource/testrest/target/${project.build.finalName does not exist or is not a readable directory
      at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
      at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4320)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4489)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
      at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
      at org.apache.catalina.startup.Embedded.start(Embedded.java:825)
      at org.apache.tomcat.maven.plugin.tomcat6.AbstractRunMojo.startContainer(AbstractRunMojo.java:850)
      at org.apache.tomcat.maven.plugin.tomcat6.AbstractRunMojo.execute(AbstractRunMojo.java:429)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
      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:601)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

      The code will work with the Tomcat 7 plugin, albeit with the minor problem described in MTOMCAT-193.

      Steps to reproduce:
      1.) Update the CXF 2.6.x branch of the archetype's pom resource (http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/maven-plugins/archetypes/cxf-jaxrs-service/src/main/resources/archetype-resources/pom.xml?view=markup), changing the two references there of org.codehaus.mojo:tomcat-maven-plugin to org.apache.tomcat.maven:tomcat6-maven-plugin:2.0. mvn clean install from the archetype folder to install the new archetype in your local repository.

      2.) Create a new project using this archetype. Run "mvn clean install" on the new project and you'll see the above error.

      Note I see either of two potential errors occurring here:
      1.) My archetype pom is incorrect as a result of switching to the new Apache plugin, there's something else I must now configure within the pom. (Please inform me if you know what.) If so, the error message given "${project.build.finalName does not exist or is not a readable directory" should be make more relevant and informative, if possible, about what I'm doing wrong


      2.) There's just an internal bug within the Tomcat6 plugin that needs fixing for this error to go away.

        Issue Links


          Glen Mazza created issue -
          Konstantin Kolinko added a comment -

          2). Duplicate of MTOMCAT-175, already fixed.

          Konstantin Kolinko added a comment - 2). Duplicate of MTOMCAT-175 , already fixed.
          Olivier Lamy (*$^¨%`£) made changes -
          Field Original Value New Value
          Link This issue duplicates MTOMCAT-175 [ MTOMCAT-175 ]
          Olivier Lamy (*$^¨%`£) made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Fix Version/s 2.1 [ 12320767 ]
          Resolution Fixed [ 1 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Closed Closed
          15h 10m 1 Olivier Lamy (*$^¨%`£) 09/Dec/12 14:53


            • Assignee:
              Olivier Lamy (*$^¨%`£)
              Glen Mazza
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: