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

Odd error message in switching from Codehaus to Maven Tomcat6 plugin

    Details

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

      Description

      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]
      [INFO] <<< tomcat6-maven-plugin:2.0:run-war (start-tomcat) @ testrest <<<
      [INFO]
      [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

      or

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

        Issue Links

          Activity

          Hide
          Konstantin Kolinko added a comment -

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

          Show
          Konstantin Kolinko added a comment - 2). Duplicate of MTOMCAT-175 , already fixed.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development