使用maven自动化部署项目

通过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 目录

猜你喜欢

转载自winder-sety.iteye.com/blog/2188191