Hi Oliver,

I must say I'm a bit confused by the examples & docs for tomcat7-maven-plugin.

I see reference to a "war:explode" goal, which doesn't seem to exist. The reference is here:

        http://tomcat.apache.org/maven-plugin-2.0-beta-1/context-goals.html

But when I dump the plugin documentation [1], I see no such goal.

What I would like to find out about the possibility to deploy an exploded war image to a local tomcat instance.

I've been successfully using the deploy (tomcat7:deploy) goal, but my developers are complaining that it is too slow. I need to work out a method to use an exploded war.

Any help appreciated...

thanks!
-Russ

[1] mvn -Dplugin=tomcat7 -DgroupId=org.apache.tomcat.maven -Dfull help:describe
...
[INFO] org.apache.tomcat.maven:tomcat7-maven-plugin:2.0-beta-1

Name: Apache Tomcat Maven Plugin :: Tomcat 7.x
Description: The Tomcat Maven Plugin provides goals to manipulate WAR
  projects within the Tomcat 7.x servlet container.
Group Id: org.apache.tomcat.maven
Artifact Id: tomcat7-maven-plugin
Version: 2.0-beta-1
Goal Prefix: tomcat7

This plugin has 8 goals:

tomcat7:deploy
  Description: Deploy a WAR to Tomcat.
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.deploy.DeployMojo
  Language: java
  Before this mojo executes, it will call:
    Phase: 'package'

  Available parameters:

    charset (Default: ISO-8859-1)
      The URL encoding charset to use when communicating with Tomcat manager.

    contextFile
      The path of the Tomcat context XML file. This is not used for war
      deployment mode.

    ignorePackaging (Default: false)
      If set to true ignore if packaging of project is not 'war'.

    mode (Default: war)
      The deployment mode to use. This must be either war to deploy the war,
      context to deploy the context XML file, or both to deploy the war with
      the context XML file.

    password
      The password to use for deployment

    path (Default: /${project.artifactId})
      The webapp context path to use for the web application being run. This
      must always start with a forward-slash ('/').

    server
      The server id in settings.xml to use when authenticating with Tomcat
      manager, or null to use defaults of username admin and no password.

    tag
      The Tomcat webapp tag name to use.

    update (Default: false)
      Whether Tomcat should automatically undeploy webapps that already exist
      when deploying.

    url (Default: http://localhost:8080/manager/html)
      The full URL of the Tomcat manager instance to use.

    username
      The tomcat username to use for deployment

    warFile
      The path of the WAR file to deploy.

tomcat7:deploy-only
  Description: Deploy a WAR to Tomcat witjout forking the package lifecycle
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.deploy.DeployOnlyMojo
  Language: java

  Available parameters:

    charset (Default: ISO-8859-1)
      The URL encoding charset to use when communicating with Tomcat manager.

    contextFile
      The path of the Tomcat context XML file. This is not used for war
      deployment mode.

    ignorePackaging (Default: false)
      If set to true ignore if packaging of project is not 'war'.

    mode (Default: war)
      The deployment mode to use. This must be either war to deploy the war,
      context to deploy the context XML file, or both to deploy the war with
      the context XML file.

    password
      The password to use for deployment

    path (Default: /${project.artifactId})
      The webapp context path to use for the web application being run. This
      must always start with a forward-slash ('/').

    server
      The server id in settings.xml to use when authenticating with Tomcat
      manager, or null to use defaults of username admin and no password.

    tag
      The Tomcat webapp tag name to use.

    update (Default: false)
      Whether Tomcat should automatically undeploy webapps that already exist
      when deploying.

    url (Default: http://localhost:8080/manager/html)
      The full URL of the Tomcat manager instance to use.

    username
      The tomcat username to use for deployment

    warFile
      The path of the WAR file to deploy.

tomcat7:exec-war
  Description: (no description available)
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.run.ExecWarMojo
  Language: java
  Before this mojo executes, it will call:
    Phase: 'package'

  Available parameters:

    accessLogValveFormat (Default: %h %l %u %t )
      see http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html

    attachArtifact (Default: true)
      Attach or not the generated artifact to the build (use true if you want
      to install or deploy it)

    attachArtifactClassifier (Default: exec-war)
      the classifier to use for the attached/generated artifact

    attachArtifactClassifierType (Default: jar)
      the type to use for the attached/generated artifact

    buildDirectory (Default: ${project.build.directory})
      (no description available)

    connectorHttpProtocol (Default: HTTP/1.1)
      which connector protocol to use HTTP/1.1 or
      org.apache.coyote.http11.Http11NioProtocol

    enableNaming (Default: false)
      to enable naming when starting tomcat

    extraDependencies
      list of extra dependencies to add in the standalone tomcat jar: your jdbc
      driver, mail.jar etc.. Those dependencies will be in root classloader.

    extraResources
      list of extra resources to add in the standalone tomcat jar: your logger
      configuration etc

    finalName (Default: ${project.artifactId}-${project.version}-war-exec.jar)
      Name of the generated exec JAR.

    mainClass (Default: org.apache.tomcat.maven.runner.Tomcat7RunnerCli)
      Main class to use for starting the standalone jar.

    path (Default: ${project.artifactId})
      The webapp context path to use for the web application being run. The
      name to store webapp in exec jar. Do not use /

    pluginArtifacts (Default: ${plugin.artifacts})
      (no description available)

    serverXml (Default: src/main/tomcatconf/server.xml)
      (no description available)

    tomcatConfigurationFilesDirectory (Default: src/main/tomcatconf)
      (no description available)

    warRunDependencies
      (no description available)

tomcat7:exec-war-only
  Description: (no description available)
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.run.ExecWarOnlyMojo
  Language: java

  Available parameters:

    accessLogValveFormat (Default: %h %l %u %t )
      see http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html

    attachArtifact (Default: true)
      Attach or not the generated artifact to the build (use true if you want
      to install or deploy it)

    attachArtifactClassifier (Default: exec-war)
      the classifier to use for the attached/generated artifact

    attachArtifactClassifierType (Default: jar)
      the type to use for the attached/generated artifact

    buildDirectory (Default: ${project.build.directory})
      (no description available)

    connectorHttpProtocol (Default: HTTP/1.1)
      which connector protocol to use HTTP/1.1 or
      org.apache.coyote.http11.Http11NioProtocol

    enableNaming (Default: false)
      to enable naming when starting tomcat

    extraDependencies
      list of extra dependencies to add in the standalone tomcat jar: your jdbc
      driver, mail.jar etc.. Those dependencies will be in root classloader.

    extraResources
      list of extra resources to add in the standalone tomcat jar: your logger
      configuration etc

    finalName (Default: ${project.artifactId}-${project.version}-war-exec.jar)
      Name of the generated exec JAR.

    mainClass (Default: org.apache.tomcat.maven.runner.Tomcat7RunnerCli)
      Main class to use for starting the standalone jar.

    path (Default: ${project.artifactId})
      The webapp context path to use for the web application being run. The
      name to store webapp in exec jar. Do not use /

    pluginArtifacts (Default: ${plugin.artifacts})
      (no description available)

    serverXml (Default: src/main/tomcatconf/server.xml)
      (no description available)

    tomcatConfigurationFilesDirectory (Default: src/main/tomcatconf)
      (no description available)

    warRunDependencies
      (no description available)

tomcat7:run
  Description: Runs the current project as a dynamic web application using an
    embedded Tomcat server.
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.run.RunMojo
  Language: java
  Before this mojo executes, it will call:
    Phase: 'compile'

  Available parameters:

    addContextWarDependencies (Default: false)
      Will create a tomcat context for each dependencies of war type with
      'scope' set to 'tomcat'. In other words, dependencies with:
         <type>war</type>
         <scope>tomcat</scope>
      To preserve backward compatibility it's false by default.

    additionalClasspathDirs
      Additional optional directories to add to the embedded tomcat classpath.

    additionalConfigFilesDir (Default: ${basedir}/src/main/tomcatconf)
      The directory contains additional configuration Files that copied in the
      Tomcat conf Directory.

    addWarDependenciesInClassloader (Default: true)
      will add /WEB-INF/lib/*.jar and /WEB-INF/classes from war dependencies in
      the webappclassloader

    ajpPort (Default: 0)
      The AJP port to run the Tomcat server on. By default it's 0 this means
      won't be started. The ajp connector will be started only for value > 0.

    ajpProtocol (Default: org.apache.coyote.ajp.AjpProtocol)
      The AJP protocol to run the Tomcat server on. By default it's ajp. NOTE
      The ajp connector will be started only if ajpPort > 0. possible values
      are:
      - org.apache.coyote.ajp.AjpProtocol - new blocking Java connector that
        supports an executor
      - org.apache.coyote.ajp.AjpAprProtocol - the APR/native connector.

    backgroundProcessorDelay (Default: -1)
      represents the delay in seconds between each classPathScanning change
      invocation

    configurationDir
      The directory to create the Tomcat server configuration under.

    contextFile
      The path of the Tomcat context XML file.

    contextReloadable (Default: false)
      Force context scanning if you don't use a context file with reloadable =
      'true'. The other way to use contextReloadable is to add attribute
      reloadable = 'true' in your context file.

    delegate (Default: true)
      Set the 'follow standard delegation model' flag used to configure our
      ClassLoader.

    fork (Default: false)
      Set this to true to allow Maven to continue to execute after invoking the
      run goal.

    httpsPort (Default: 0)
      The https port to run the Tomcat server on. By default it's 0 this means
      won't be started. The https connector will be started only for value > 0.

    ignorePackaging (Default: false)
      If set to true ignore if packaging of project is not 'war'.

    keystoreFile
      Override the default keystoreFile for the HTTPS connector (if enabled)

    keystorePass
      Override the default keystorePass for the HTTPS connector (if enabled)

    path (Default: /${project.artifactId})
      The webapp context path to use for the web application being run. This
      must always start with a forward-slash ('/').

    pluginArtifacts
      (no description available)

    port (Default: 8080)
      The port to run the Tomcat server on.

    protocol (Default: HTTP/1.1)
      The protocol to run the Tomcat server on. By default it's HTTP/1.1.

    serverXml
      server.xml to use Note if you use this you must configure in this file
      your webapp paths.

    systemProperties
      List of System properties to pass to the Tomcat Server.

    tomcatLoggingFile
      The path of the Tomcat logging configuration.

    tomcatUsers
      The path of the Tomcat users XML file.

    tomcatWebXml
      overriding the providing web.xml to run tomcat

    uriEncoding (Default: ISO-8859-1)
      The character encoding to use for decoding URIs.

    useNaming (Default: true)
      Enables or disables naming support for the embedded Tomcat server.

      Note: This setting is ignored if you provide a server.xml for your
      Tomcat. Instead please configure naming in the server.xml.

    useSeparateTomcatClassLoader (Default: false)
      if true a new classLoader separated from maven core will be created to
      start tomcat.

    useTestClasspath (Default: false)
      will use the test classpath rather than the compile one and will add test
      dependencies too

    warSourceDirectory (Default: ${basedir}/src/main/webapp)
      The web resources directory for the web application being run.

tomcat7:run-war
  Description: Runs the current project as a packaged web application using
    an embedded Tomcat server.
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.run.RunWarMojo
  Language: java
  Before this mojo executes, it will call:
    Phase: 'package'

  Available parameters:

    addContextWarDependencies (Default: false)
      Will create a tomcat context for each dependencies of war type with
      'scope' set to 'tomcat'. In other words, dependencies with:
         <type>war</type>
         <scope>tomcat</scope>
      To preserve backward compatibility it's false by default.

    additionalConfigFilesDir (Default: ${basedir}/src/main/tomcatconf)
      The directory contains additional configuration Files that copied in the
      Tomcat conf Directory.

    ajpPort (Default: 0)
      The AJP port to run the Tomcat server on. By default it's 0 this means
      won't be started. The ajp connector will be started only for value > 0.

    ajpProtocol (Default: org.apache.coyote.ajp.AjpProtocol)
      The AJP protocol to run the Tomcat server on. By default it's ajp. NOTE
      The ajp connector will be started only if ajpPort > 0. possible values
      are:
      - org.apache.coyote.ajp.AjpProtocol - new blocking Java connector that
        supports an executor
      - org.apache.coyote.ajp.AjpAprProtocol - the APR/native connector.

    configurationDir
      The directory to create the Tomcat server configuration under.

    contextFile
      The path of the Tomcat context XML file.

    contextReloadable (Default: false)
      Force context scanning if you don't use a context file with reloadable =
      'true'. The other way to use contextReloadable is to add attribute
      reloadable = 'true' in your context file.

    fork (Default: false)
      Set this to true to allow Maven to continue to execute after invoking the
      run goal.

    httpsPort (Default: 0)
      The https port to run the Tomcat server on. By default it's 0 this means
      won't be started. The https connector will be started only for value > 0.

    ignorePackaging (Default: false)
      If set to true ignore if packaging of project is not 'war'.

    keystoreFile
      Override the default keystoreFile for the HTTPS connector (if enabled)

    keystorePass
      Override the default keystorePass for the HTTPS connector (if enabled)

    path (Default: /${project.artifactId})
      The webapp context path to use for the web application being run. This
      must always start with a forward-slash ('/').

    pluginArtifacts
      (no description available)

    port (Default: 8080)
      The port to run the Tomcat server on.

    protocol (Default: HTTP/1.1)
      The protocol to run the Tomcat server on. By default it's HTTP/1.1.

    serverXml
      server.xml to use Note if you use this you must configure in this file
      your webapp paths.

    systemProperties
      List of System properties to pass to the Tomcat Server.

    tomcatLoggingFile
      The path of the Tomcat logging configuration.

    tomcatUsers
      The path of the Tomcat users XML file.

    tomcatWebXml
      overriding the providing web.xml to run tomcat

    uriEncoding (Default: ISO-8859-1)
      The character encoding to use for decoding URIs.

    useNaming (Default: true)
      Enables or disables naming support for the embedded Tomcat server.

      Note: This setting is ignored if you provide a server.xml for your
      Tomcat. Instead please configure naming in the server.xml.

    useSeparateTomcatClassLoader (Default: false)
      if true a new classLoader separated from maven core will be created to
      start tomcat.

    warDirectory
      The path of the exploded WAR directory to run.

tomcat7:run-war-only
  Description: Runs the current project as a packaged web application using
    an embedded Tomcat server without forking the package cycle.
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.run.RunWarOnlyMojo
  Language: java

  Available parameters:

    addContextWarDependencies (Default: false)
      Will create a tomcat context for each dependencies of war type with
      'scope' set to 'tomcat'. In other words, dependencies with:
         <type>war</type>
         <scope>tomcat</scope>
      To preserve backward compatibility it's false by default.

    additionalConfigFilesDir (Default: ${basedir}/src/main/tomcatconf)
      The directory contains additional configuration Files that copied in the
      Tomcat conf Directory.

    ajpPort (Default: 0)
      The AJP port to run the Tomcat server on. By default it's 0 this means
      won't be started. The ajp connector will be started only for value > 0.

    ajpProtocol (Default: org.apache.coyote.ajp.AjpProtocol)
      The AJP protocol to run the Tomcat server on. By default it's ajp. NOTE
      The ajp connector will be started only if ajpPort > 0. possible values
      are:
      - org.apache.coyote.ajp.AjpProtocol - new blocking Java connector that
        supports an executor
      - org.apache.coyote.ajp.AjpAprProtocol - the APR/native connector.

    configurationDir
      The directory to create the Tomcat server configuration under.

    contextFile
      The path of the Tomcat context XML file.

    contextReloadable (Default: false)
      Force context scanning if you don't use a context file with reloadable =
      'true'. The other way to use contextReloadable is to add attribute
      reloadable = 'true' in your context file.

    fork (Default: false)
      Set this to true to allow Maven to continue to execute after invoking the
      run goal.

    httpsPort (Default: 0)
      The https port to run the Tomcat server on. By default it's 0 this means
      won't be started. The https connector will be started only for value > 0.

    ignorePackaging (Default: false)
      If set to true ignore if packaging of project is not 'war'.

    keystoreFile
      Override the default keystoreFile for the HTTPS connector (if enabled)

    keystorePass
      Override the default keystorePass for the HTTPS connector (if enabled)

    path (Default: /${project.artifactId})
      The webapp context path to use for the web application being run. This
      must always start with a forward-slash ('/').

    pluginArtifacts
      (no description available)

    port (Default: 8080)
      The port to run the Tomcat server on.

    protocol (Default: HTTP/1.1)
      The protocol to run the Tomcat server on. By default it's HTTP/1.1.

    serverXml
      server.xml to use Note if you use this you must configure in this file
      your webapp paths.

    systemProperties
      List of System properties to pass to the Tomcat Server.

    tomcatLoggingFile
      The path of the Tomcat logging configuration.

    tomcatUsers
      The path of the Tomcat users XML file.

    tomcatWebXml
      overriding the providing web.xml to run tomcat

    uriEncoding (Default: ISO-8859-1)
      The character encoding to use for decoding URIs.

    useNaming (Default: true)
      Enables or disables naming support for the embedded Tomcat server.

      Note: This setting is ignored if you provide a server.xml for your
      Tomcat. Instead please configure naming in the server.xml.

    useSeparateTomcatClassLoader (Default: false)
      if true a new classLoader separated from maven core will be created to
      start tomcat.

    warDirectory
      The path of the exploded WAR directory to run.

tomcat7:shutdown
  Description: Shuts down all possibly started embedded tomcat servers. This
    will be automatically down through a shutdown hook or you may call this
    Mojo to shut them down explictly.

    By default the shutdown goal is not bound to any phase. For integration
    tests you might want to bind it to post-integration-test.
  Implementation: org.apache.tomcat.maven.plugin.tomcat7.run.ShutdownMojo
  Language: java

  Available parameters:

    path (Default: /${project.artifactId})
      The webapp context path to use for the web application being run. This
      must always start with a forward-slash ('/').

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to