鍍金池/ 教程/ Java/ 部署基于Maven的war文件到Tomcat
使用Maven構(gòu)建項目
定制庫到Maven本地資源庫
Maven安裝配置
Maven依賴管理
使用Maven創(chuàng)建Web應用程序項目
Maven項目文檔
Maven存儲庫
使用Maven創(chuàng)建Java項目
Maven Web應用
Maven創(chuàng)建Java項目
部署基于Maven的war文件到Tomcat
定制庫到Maven本地資源庫
Maven POM
Maven啟用代理訪問
轉(zhuǎn)換基于Maven的Java項目支持Eclipse IDE
Maven本地資源庫
Maven項目模板
Maven添加遠程倉庫
如何從Maven遠程存儲庫下載?
Maven插件
Maven依賴機制
Maven 構(gòu)建生命周期
將項目安裝到Maven本地資源庫
使用Maven模板創(chuàng)建項目
Maven構(gòu)建自動化
Maven中央存儲庫
Eclipse創(chuàng)建一個Maven Web項目
部署基于Maven的war文件到Tomcat
使用Maven運行單元測試
轉(zhuǎn)換基于Maven的Java項目支持Eclipse IDE
轉(zhuǎn)換基于Maven的Web應用程序支持Eclipse IDE
NetBeans IDE集成Maven
Maven中央存儲庫
使用Maven清理項目
使用Maven構(gòu)建和測試Java項目
Maven本地資源庫
Maven依賴機制
使用Maven創(chuàng)建Web應用程序項目
使用“mvn site-deploy”部署站點(WebDAV例子)
Maven快照
使用Maven構(gòu)建項目
Maven教程
Maven POM
生成基于Maven的項目文檔站點
使用Maven運行單元測試
Maven 構(gòu)建配置文件
Maven外部依賴
將項目安裝到Maven本地資源庫
Eclipse構(gòu)建Maven項目
啟用Maven的代理訪問
生成基于Maven的項目文檔站點
使用Maven創(chuàng)建Java項目
使用“mvn site-deploy”部署站點(WebDAV例子)
使用Maven模板創(chuàng)建項目
如何從Maven遠程存儲庫下載?
使用Maven清理項目
Eclispe IDE集成Maven
Maven自動化部署
轉(zhuǎn)換基于Maven的Web應用程序支持Eclipse IDE

部署基于Maven的war文件到Tomcat

在本教程中,我們將學習如何使用Maven的Tomcat插件打包并部署一個WAR文件到Tomcat(Tomcat的6和7。

要用到工具:

  1. Maven 3
  2. Tomcat 6.0.37
  3. Tomcat 7.0.53
Tomcat 7
發(fā)布URL = http://localhost:8080/manager/text
命令 = mvn tomcat7:deploy

Tomcat 6
發(fā)布 URL = http://localhost:8080/manager/
命令 = mvn tomcat6:deploy

1. Tomcat 7 示例

這個例子說明了如何在Tomcat7打包并部署WAR文件。

1.1 Tomcat 認證
添加具有角色管理器GUI和管理腳本的用戶。

%TOMCAT7_PATH%/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>

	<role rolename="manager-gui"/>
	<role rolename="manager-script"/>
	<user username="admin" password="password" roles="manager-gui,manager-script" />

</tomcat-users>


1.2 Maven 認證
添加在上面Maven 設置文件的 Tomcat 用戶,是之后Maven使用此用戶來登錄Tomcat服務器。

%MAVEN_PATH%/conf/settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
	<servers>
	   
		<server>
			<id>TomcatServer</id>
			<username>admin</username>
			<password>password</password>
		</server>

	</servers>
</settings>


1.3 Tomcat7 Maven 插件
聲明一個Maven的Tomcat插件。

pom.xml

	<plugin>
		<groupId>org.apache.tomcat.maven</groupId>
		<artifactId>tomcat7-maven-plugin</artifactId>
		<version>2.2</version>
		<configuration>
			<url>http://localhost:8080/manager/text</url>
			<server>TomcatServer</server>
			<path>/yiibaiWebApp</path>
		</configuration>
	</plugin>


怎么運行的?
在部署過程中,它告訴 Maven 通過部署 WAR 文件Tomcat服務器, “http://localhost:8080/manager/text” , 在路徑“/yiibaiWebApp“上, 使用 “TomcatServer” (settings.xml) 用戶名和密碼來進行認證。

1.4 發(fā)布到Tomcat
以下的命令是用來操縱Tomcat WAR文件。

mvn tomcat7:deploy 
mvn tomcat7:undeploy 
mvn tomcat7:redeploy

示例

> mvn tomcat7:deploy

...
[INFO] Deploying war to http://localhost:8080/yiibaiWebApp
Uploading: http://localhost:8080/manager/text/deploy?path=%2FyiibaiWebApp&update=true
Uploaded: http://localhost:8080/manager/text/deploy?path=%2FyiibaiWebApp&update=true (13925 KB at 35250.9 KB/sec)

[INFO] tomcatManager status code:200, ReasonPhrase:OK
[INFO] OK - Deployed application at context path /yiibaiWebApp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.507 s
[INFO] Finished at: 2015-08-05T11:35:25+08:00
[INFO] Final Memory: 28M/308M
[INFO] ------------------------------------------------------------------------
maven-war-file-deploy-tomcat7

2. Tomcat 6 示例

這個例子說明了如何在Tomcat6打包和部署WAR文件。這些步驟和Tomcat7是一樣的,只是部署URL和命令名稱不同。

2.1 Tomcat 認證

%TOMCAT6_PATH%/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>

	<role rolename="manager-gui"/>
	<role rolename="manager-script"/>
	<user username="admin" password="password" roles="manager-gui,manager-script" />

</tomcat-users>

2.2 Maven 認證

%MAVEN_PATH%/conf/settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
	<servers>
	   
		<server>
			<id>TomcatServer</id>
			<username>admin</username>
			<password>password</password>
		</server>

	</servers>
</settings>


2.3 Tomcat6 Maven 插件

pom.xml

<plugin>
		<groupId>org.apache.tomcat.maven</groupId>
		<artifactId>tomcat6-maven-plugin</artifactId>
		<version>2.2</version>
		<configuration>
			<url>http://localhost:8080/manager</url>
			<server>TomcatServer</server>
			<path>/yiibaiWebApp</path>
		</configuration>
	</plugin>	


2.4 發(fā)布到Tomcat

mvn tomcat6:deploy 
mvn tomcat6:undeploy 
mvn tomcat6:redeploy

示例

> mvn tomcat6:deploy

...
[INFO] Deploying war to http://localhost:8080/yiibaiWebApp
Uploading: http://localhost:8080/manager/deploy?path=%2FyiibaiWebApp
Uploaded: http://localhost:8080/manager/deploy?path=%2FyiibaiWebApp (13925 KB at 32995.5 KB/sec)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.652 s
[INFO] Finished at: 2014-08-05T12:18:54+08:00
[INFO] Final Memory: 30M/308M
[INFO] ------------------------------------------------------------------------

參考

  1. Apache Tomcat 7 Manager App HOW-TO
  2. Apache Tomcat 6 Manager App HOW-TO
  3. Tomcat Maven Plugin
  4. Tomcat Maven Plugin – Context Goals