上一篇,介紹了如何創建Maven項目以及如何在內嵌的Tomcat中部署測試Web應用,本篇主要介紹如何將開發的應用程序自動部署至外部Tomcat。本例中使用的Tomcat版本為Tomcat 7。
1、 安裝Tomcat 7
1) 將Tomcat 7的安裝包解壓至C:\opensource,並將文件夾重命名為tomcat-7.0.34,得到的目錄結構如下
2) 新建系統變量CATALINA_HOME,值為:C:\opensource\tomcat-7.0.34
3) 在系統變量 Path的最后面添加%CATALINA_HOME%\lib; %CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar 注意它們之間的分號,一定是英文的分號。
4) Tomcat 7.0的管理員的配置,進入C:\opensource\tomcat-7.0.34(Tomcat目錄)下的conf目錄,編輯tomcat-users.xml,找到最后的:
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
在上面這段后面 添加上:
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="admin" password="admin" roles="manager-gui,manager-script"/>
從添加的這段中可以看到管理員的用戶名和密碼,后面配置將會用到。
5) 進入Tomcat 目錄下的bin目錄,雙擊startup.bat 啟動Tomcat 在命令行窗口會出來英文提示。
6) 瀏覽器輸入:http://localhost:8080 可以看到Tomcat的歡迎頁面就說明配置成功了,點擊右上角上manager連接,輸入上面配置的用戶名和密碼,就可以進入管理頁面。
補充:使用外部的tomcat7 需要使用 tomcat-maven-plugin 的新版本,版本支持tomcat6和tomcat7,groupId也由org.codehaus.mojo改為org.apache.tomcat.maven。 可以參考看:
Maven的Tomcat插件地址為,http://tomcat.apache.org/maven-plugin.html。無需手動下載,按照本文配置,MyEclipse會自動下載到相應的tomcat-maven-plugin插件
2、修改項目的pom.xml
1)在project的build節點下 添加tomcat-maven-plugin插件信息,如下寫法添加了tomcat6和tomcat7的插件,如只用1種可以只寫一個
<plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>2.0-SNAPSHOT</version> <configuration> <url>http://localhost:8080/manager/html</url> <server>tomcat</server> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.0-SNAPSHOT</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>tomcat7</server> <username>admin</username> <password>admin</password> </configuration> </plugin> </plugins>
--2.0-SNAPSHOT版本已經release了
2) 在project節點下,在插件倉庫(plugin repositories)和普通倉庫(repositories)中添加以下倉庫到pom.xml,保證maven可以從倉庫中下載到tomcat-maven-plugin插件,少添加了這段信息,會出現如下報錯信息:
No plugin found for prefix 'tomcat' in the current project and in the plug
<repositories> <repository> <id> people.apache.snapshots </id> <url> http://repository.apache.org/content/groups/snapshots-group/ </url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>apache.snapshots</id> <name>Apache Snapshots</name> <url>
http://repository.apache.org/content/groups/snapshots-group/ </url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
3.配置setting.xml,修改%MAVEN_HOME%\conf\setting.xml(前提是在myeclipse preferences中maven啟用本地安裝版本並設置用戶setting.xml為本地conf下的setting.xml)。
在<servers>標簽中加入
<server> <id>tomcat7</id> <username>admin</username> <password>admin</password> </server>
注意這里用戶名、密碼必須為manager-gui角色的用戶,這里設置需要與之前tomcat配置時的角色分配對應起來。
4.啟動tomcat
運行請先啟動tomcat,在maven build的goals中輸入命令tomcat7:deploy即可發布,或在Run Configurations->Maven build新建一個命令,base directory里選擇你的web project,在Goals欄可填寫你所需要的命令,點擊Run或者Debug后,MyEclipse會自動下載所需的插件並在Console啟動Tomcat。
5、測試
打開瀏覽器,輸入http://localhost:8080/helloworld,即可見到發布的Helloworld頁面。同時,你也可以在C:\tomcat-7.0.34\webapps看到helloworld工程和helloworld.war包了。
如果點擊run后,Console報錯,請參見下一篇錯誤排除