Maven使用tomcat插件编译并运行Java Web项目,仅供参考(过程中有参考网上记录,但是大部分是我手写的)
目前用的多的应该还是tomcat6版本的 (本地电脑Maven仓库下载tomcat7版本的失败了,懒得折腾了= =//)
注意:在pom.xml里面同时配置tomcat6与tomcat7都没问题,两者的运行命令不同
1、dependencies节点,此节点内部声明后面需要用到的变量,例如插件版本、项目编码;
这种方式可以方便的在配置中更改编码或者更新其他的内容
2、dependencies节点,此节点配置依赖包(主要还是介绍tomcat插件的配置,这块不介绍了)
3、build节点,此节点配置编译的相关配置,例如打包的插件、打包输出的项目war文件名等等
如果需要修改项目输出的文件名,在此节点里面加上<finalName>xxxx</finalName>(默认输出文件名是项目名+版本号,所以一般都不加这个)
4、plugin节点,此节点配置编译需要用到的插件,如:tomcat-maven-plugin等等
5、tomcat-maven-plugin插件,此插件是tomcat6版本的(具体配置看底下的pom内容)
配置说明configuration节点里面的内容,直接将说明加载底下的pom文件里面了,具体配置看底下的pom内容
注意:configuration节点的内容都可以省略不写,有默认值的;例如
path 默认就是当前项目名称;
port 默认就是8080,但是要注意如果在这里配置了端口,就不能再外面用maven命令修改端口了;
就像这个命令:mvn clean tomcat:run -Dmaven.tomcat.port=8081 (如果前面配置指定了port,后面这个8081是不起作用的)
uriEncoding 这个默认值应该是系统编码,
运行命令mvn tomcat:run ; 但是一般建议加上clean一起执行:mvn clean tomcat:run
maven命令可以合并在一起执行,而且这样可以防止编译结果未及时更新影响运行结果(有时候忘记clean就坑了= =)
6、maven-compiler-plugin插件
项目编译的插件,插件中主要配置的就是编译的JDK版本,(具体配置看底下的pom内容)
7、tomcat7-maven-plugin插件
运行命令mvn tomcat7:run ; 但是同样建议加上clean一起执行:mvn clean tomcat7:run
pom.xml 记录,如下所示
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxx</groupId>
<artifactId>xxxxx</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<properties>
<!--maven插件变量-->
<tomcat.version>1.1</tomcat.version>
<tomcat7.version>2.2</tomcat7.version>
<webserver.port>8080</webserver.port>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- tomcat插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>${tomcat.version}</version>
<configuration>
<path>/${project.artifactId}</path><!-- 运行之后访问的路径 -->
<port>${webserver.port}</port><!-- 运行之后访问端口 -->
<uriEncoding>${project.build.sourceEncoding}</uriEncoding><!-- 编码 -->
<url>http://localhost:8080/manager/html</url>
<server>tomcat6</server>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source> <!-- 编译的JDK版本 -->
<target>1.7</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<!-- tomcat7插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>${tomcat7.version}</version>
<configuration>
<!-- <port>${webserver.port}</port> -->
<path>/${project.artifactId}</path>
<uriEncoding>${project.build.sourceEncoding}</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
</project>