tomcat-maven-plugin什么情况

 我来答
ifeilong
2016-09-11 · TA获得超过8068个赞
知道大有可为答主
回答量:1187
采纳率:100%
帮助的人:818万
展开全部

Apache Tomcat 的 Maven 插件提供了 goal,实现将 Apache Tomcat servlet 容器整合进 WAR 项目。你可以通过 Apache Maven 运行 WAR 项目而无需部署 WAR 文件到 Apache Tomcat 的实例。


功能:

支持 Apache Tomcat7

构建一个可执行的 War/Jar


使用

自从版本 2.0-beta-1以后, tomcat mojos 更名为 tomcat6 和 tomcat7,使用配置如下:

<pluginManagement>
 <plugins>
   <plugin>
     <groupId>org.apache.tomcat.maven</groupId>
     <artifactId>tomcat6-maven-plugin</artifactId>
     <version>2.2</version>
   </plugin>
   <plugin>
     <groupId>org.apache.tomcat.maven</groupId>
     <artifactId>tomcat7-maven-plugin</artifactId>
     <version>2.2</version>
   </plugin>
 </plugins>
</pluginManagement>


在 tomcat 发布不显示项目名称

配置如下

<plugin>
 <groupId>org.apache.tomcat.maven</groupId>
 <artifactId>tomcat7-maven-plugin</artifactId>
 <version>2.2</version>
   <configuration>
   <path>/</path>
   </configuration>
</plugin>

Context Goals

部署 WAR 项目

在 tomcat:deploy 部署后,再次部署 WAR 执行:

mvn package tomcat6/7:redeploy

在执行 tomcat:exploded 后,再次部署 WAR 执行:

mvn war:exploded tomcat6/7:redeploy

在执行 tomcat:inplace 后,再次部署 WAR 执行:

mvn war:inplace tomcat6/7:redeploy

在执行 tomcat:deploy 后,再次部署 context.xml 文件执行:

mvn tomcat6/7:redeploy

注意: context.xml指定 docBase后 ,还需要像上面那样调用 war:exploded或者war:inplace

移除部署 WAR 项目

mvn tomcat6/7:undeploy

启动 WAR 项目

mvn tomcat6:start

停止 WAR 项目

mvn tomcat6:stop

列出会话统计表

mvn tomcat6:sessions

Container Goals

列出部署的应用s

mvn tomcat6:list

列出服务器信息

mvn tomcat6:info

列出 JNDI 资源

列出 Tomcat 版本, 操作系统, 和 JVM 等信息

mvn tomcat6:resources

另外,列出特定类型你可以只输入 JNDI 资源类型:

mvn -Dmaven.tomcat.type=my.class.name tomcat6:resources

列出安全角色

mvn tomcat6:roles

构建一个可执行的 War/Jar

版本 2.0 开始,嵌入的 Apache Tomcat7 可以构建一个可执行的 War/Jar(只支持 tomcat7 插件)

注意:项目必须有 pom 或者 war 的打包信息

添加到您的 war 模块:

<project>
 ...
 <packaging>war or pom</packaging>
 ...
 <build>
   ...
   <plugins>
     ...
     <plugin>
       <groupId>org.apache.tomcat.maven</groupId>
       <artifactId>tomcat7-maven-plugin</artifactId>
       <version>2.2</version>
       <executions>
         <execution>
           <id>tomcat-run</id>
           <goals>
             <goal>exec-war-only</goal>
           </goals>
           <phase>package</phase>
           <configuration>
             <path>foo</path>
             <!-- optional, needed only if you want to use a preconfigured server.xml file -->
             <serverXml>src/main/tomcatconf/server.xml</serverXml>
             <!-- optional values which can be configurable -->
             <attachArtifactClassifier>default value is exec-war but you can customize</attachArtifactClassifier>
             <attachArtifactClassifierType>default value is jar</attachArtifactClassifierType>
           </configuration>
         </execution>
       </executions>
     </plugin>
     ...
   </plugins>
   ...
 </build>
 ...
</project>


添加到 pom 模块

<project>
 ...
 <packaging>war</packaging>
 ...
 <build>
   ...
   <plugins>
     ...
     <plugin>
       <groupId>org.apache.tomcat.maven</groupId>
       <artifactId>tomcat7-maven-plugin</artifactId>
       <version>2.2</version>
       <executions>
         <execution>
           <id>tomcat-run</id>
           <goals>
             <goal>exec-war-only</goal>
           </goals>
           <phase>package</phase>
           <configuration>
             <!-- optional only if you want to use a preconfigured server.xml file -->
             <!--
             <serverXml>src/main/tomcatconf/server.xml</serverXml>
             -->
             <warRunDependencies>
               <warRunDependency>
                 <dependency>
                   <groupId>a groupId</groupId>
                   <artifactId>and artifactId</artifactId>
                   <version>version</version>
                   <type>war</type>
                 </dependency>
                 <contextPath>/</contextPath>
               </warRunDependency>
             </warRunDependencies>
             <!-- naming is disabled by default so use true to enable it -->
             <enableNaming>true</enableNaming>
           </configuration>
         </execution>
       </executions>
     </plugin>
     ...
   </plugins>
   ...
 </build>
 ...
</project>


生成可执行的 War/Jar

在上面配置下,执行

java -jar yourjar

下面是使用帮助

usage: java -jar [path to your exec war jar]
-ajpPort <ajpPort>                     ajp port to use
-clientAuth                            enable client authentication for
                                       https
-D <arg>                               key=value
-extractDirectory <extractDirectory>   path to extract war content,
                                       default value: .extract
-h,--help                              help
-httpPort <httpPort>                   http port to use
-httpProtocol <httpProtocol>           http protocol to use: HTTP/1.1 or
                                       org.apache.coyote.http11.Http11Nio
                                       Protocol
-httpsPort <httpsPort>                 https port to use
-maxPostSize <maxPostSize>             max post size in bytes to use
-keyAlias <keyAlias>                   alias from keystore for ssl
-loggerName <loggerName>               logger to use: slf4j to use slf4j
                                       bridge on top of jul
-obfuscate <password>                  obfuscate the password and exit
-resetExtract                          clean previous extract directory
-serverXmlPath <serverXmlPath>         server.xml to use, optional
-X,--debug                             debug

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式