通过140服务器进行测试:
使用tomcat:apache-tomcat-7.0.11
tomcat-users.xml 增加以下内容:
<role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
pom文件:
<properties> <!-- 远程部署 --> <c.container.id>tomcat7x</c.container.id> <c.container.type>remote</c.container.type> <c.remote.host>localhost</c.remote.host> <c.remote.port>8080</c.remote.port> <c.remote.protocol>http://</c.remote.protocol> <c.remote.username>admin</c.remote.username> <c.remote.password>admin</c.remote.password> <c.remote.manager.url>${c.remote.protocol}://${c.remote.host}:${c.remote.port}/manager </c.remote.manager.url> </properties> <profiles> <profile> <id>140</id> <properties> <c.remote.username>admin</c.remote.username> <c.remote.password>admin</c.remote.password> <c.remote.host>192.168.0.140</c.remote.host> <c.remote.port>8666</c.remote.port> </properties> <build> <resources> <resource><directory>resources/140</directory></resource> <resource> <directory>${basedir}/src/main/java/</directory> </resource> </resources> </build> </profile> </profiles> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.0-SNAPSHOT</version> <configuration> <url>http://localhost/manager/html</url> <server>tomcat7</server> </configuration> </plugin> <!-- Java编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- War包构建插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.2</version> <configuration> <webappDirectory>src/main/webapp</webappDirectory> </configuration> </plugin> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.2.2</version> <configuration> <container> <containerId>${c.container.id}</containerId> <type>${c.container.type}</type> </container> <configuration> <type>runtime</type> <properties> <cargo.hostname>${c.remote.host}</cargo.hostname> <cargo.servlet.port>${c.remote.port}</cargo.servlet.port> <cargo.remote.username>${c.remote.username}</cargo.remote.username> <cargo.remote.password>${c.remote.password}</cargo.remote.password> <cargo.remote.manager.url>${c.remote.manager.url}</cargo.remote.manager.url> </properties> </configuration> </configuration> </plugin> </plugins> <finalName>companyproject</finalName> </build>
然后在 run config 里面配置:
clean package cargo:redeploy -X
140
skip Tests
browse workspace -- > companyproject
run 执行 后会在tomcat 的webapps 下面生成一个 companyproject.war 的war包
最后记得删除 maven自动生成的 classes 和 lib 目录