Tomcat用Maven远程部署

以Apache Tomcat/7.0.28例:(每个版本的地址和配置会不一样)
查看http://127.0.0.1/manager/html 在弹出的对话框中点取消就会出现401错误,


这里会例出这个版本的哪些角色,有什么权限,manager-gui图形管理 manager-script文本接口等。
1.先更改tomcat-users.xml文件

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="tomcat" password="123456" roles="manager-gui"/>
  <user username="root" password="123456" roles="manager-script"/>
</tomcat-users>
这样就可以在http://127.0.0.1/manager/html 这里管理时使用tomcat/123456登陆管理
然后在用maven在http://127.0.0.1/manager/text使用root/123456远程部署
2、在需要部署的应用的pom.xml中加入

<!-- tomcat redelopy -->
<!-- 部署 -->
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <version>1.1</version>
    <configuration>
		<url>http://127.0.0.1/manager/text</url>
		<username>root</username>
		<password>123456</password>
		<path>/mywebapp</path>
    </configuration>
</plugin>
这种方式配置已经完成了,当然用户名(username)和密码(password)也可以在maven的setting.xml里配,那在pom.xml就配一个名称还需要下面第三步部配置,像这样,
<!-- tomcat redelopy -->
<!-- 部署 -->
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <version>1.1</version>
    <configuration> 
        <url>http://127.0.0.1/manager/text</url> 
        <server>tomcat</server>
        <path>/mywebapp</path> 
    </configuration> 
</plugin>
3、在maven的setting.xml的server中配
    <server>
      <id>tomcat</id>
      <username>root</username> <!--tomcat用户名和密码--->
      <password>123456</password>
    </server>
执行部署命令
引用
mvn tomcat:deploy(undeploy stop start) 操作tomcat

<?xml version="1.0" encoding="UTF-8"?>
分发构件至远程仓库
在需要部署的应用的pom.xml中加入
<project>
	<!-- ... -->
	<distributionmanagement>
		<repository>
			<id>nexus-releases</id>
			<name>Nexus Release Repository</name>
			<url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>
		</repository>
		<snapshotrepository>
			<id>nexus-snapshots</id>
			<name>Nexus Snapshot Repository</name>
			<url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>
		</snapshotrepository>
	</distributionmanagement>
	<!-- ... -->
</project>
在maven全局配置中加入
<settings>
	<!-- ... -->
	<servers>
		<server>
			<id>nexus-releases</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<server>
			<id>nexus-snapshots</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
	</servers>
	<!-- ... -->
</settings>

运行mvn deploy后,当应用pom.xml中<version>0.0.1-SNAPSHOT</version>则打出的构建将分发到快照目录http://192.168.198.132:8081/nexus/content/repositories/snapshots/下,并自动加上日期作为版本号,第一次编译编译号为01,别人使用的时候默认取得最新的一个应用包;当应用pom.xml中<version>1.0.0</version>没有SNAPSHOT时,将分发到http://192.168.198.132:8081/nexus/content/repositories/releases/下

猜你喜欢

转载自xml.iteye.com/blog/1607330