1.下載tomcat7並配置好JAVA_HOME,tomcat7\webapps目錄除了manager之外,其它都可以刪除(刪除沒用的,可加速tomcat的啟動).
2.新建系統變量CATALINA_HOME,值為:C:\opensource\tomcat-7.0.34,在系統變量 Path的最后面添加%CATALINA_HOME%\lib; %CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar 注意它們之間的分號,一定是英文的分號。
3.tomcat7\conf\tomcat-users.xml加入
<role rolename="admin-gui" /> <role rolename="manager-gui" /> <role rolename="manager-script"/> <user username="admin" password="eteda" roles="admin-gui,manager-gui,manager-script"/>
當然用戶名和密碼可以不一樣,但沒有manager-gui就不能通過瀏覽器去訪問manage應用,沒有manager-script就不能通過manage去上傳war包達到部署的目的.
3.配置maven的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.在web項目的pom.xml的一個應用例子(注:url也必須有/text,否則也上傳不了war包)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>testweb</artifactId> <packaging>war</packaging> <version>1.0</version> <name>testweb Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.deploy>deploy</project.deploy> <project.tomcat.version>8.0.0-RC5</project.tomcat.version> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>copy-resources</id> <phase>process-resources</phase> <goals> <goal>resources</goal> </goals> <configuration> <encoding>UTF-8</encoding> <outputDirectory>${project.build.directory}/${project.deploy}</outputDirectory> <resources> <resource> <directory>src/main/resources/</directory> <includes> <include>*.xml</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3.2</version> <configuration> <archive> <addMavenDescriptor>false</addMavenDescriptor> </archive> <outputDirectory>${project.build.directory}/${project.deploy}</outputDirectory> </configuration> <executions> <execution> <phase>process-classes</phase> <goals> <goal>jar</goal> </goals> <configuration> <excludes> <exclude>*.properties</exclude> </excludes> </configuration> </execution> </executions> </plugin> --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <username>username</username> <password>password</password> <path>/${project.artifactId}</path> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>${project.tomcat.version}</version> <scope>provided</scope> </dependency> </dependencies> </project>
5.tomcat7要先啟動,在命令行轉到項目目錄下輸入d:\maven3\bin\mvn tomcat7:deploy看結果.(注:不是tomcat:deploy)
在eclipse配置好外部的maven,在eclipse的run configurations建一個Maven Build:Name隨便起一個名字(如tomcat7_redeploy),Base directory選項目目錄${workspace_loc:/testweb},goals填tomcat7:deploy.或tomcat7:redeploy
deploy:如果已經部署過,再deploy就會失敗.去tomcat7的webapps刪除已經部署過的就行了.
6.五個必須掌握的maven命令
1). mvn help:describe 你是否因為記不清某個插件有哪些goal而痛苦過,你是否因為想不起某個goal有哪些參數而苦惱,那就試試這個命令吧,它會告訴你一切的. 參數: 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:與-Dplugin一起使用,它會列出某個插件的goal信息,如果嫌不夠詳細,同樣可以加-Ddetail.(注:一個插件goal也被認為是一個 “Mojo”) 下面大家就運行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!
2). mvn archetype:generate 你是怎么創建你的maven項目的?是不是像這樣:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,如果你還再用的話,那你就out了,現代人都用mvn archetype:generate了,它將創建項目這件枯燥的事更加人性化,你再也不需要記那么多的archetypeArtifactId,你只需輸入archetype:generate,剩下的就是做”選擇題”了.
3). mvn tomcat:run 用了maven后,你再也不需要用eclipse里的tomcat來運行web項目(實際工作中經常會發現用它會出現不同步更新的情況),只需在對應目錄(如/ryanote)里運行 mvn tomat:run命令,然后就可在瀏覽器里運行http://localhost:8080/ryanote查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置: 01 02 03 04 org.codehaus.mojo 05 tomcat-maven-plugin 06 07 /web 08 9090 09 10 11 12 當然你也可以在命令里加參數來實現特定的功能,下面幾個比較常用: 1. 跳過測試:-Dmaven.test.skip(=true) 2. 指定端口:-Dmaven.tomcat.port=9090 3. 忽略測試失敗:-Dmaven.test.failure.ignore=true 當然,如果你的其它關聯項目有過更新的話,一定要在項目根目錄下運行mvn clean install來執行更新,再運行mvn tomcat:run使改動生效.
4). mvnDebug tomcat:run 這條命令主要用來遠程測試,它會監聽遠程測試用的8000端口,在eclipse里打開遠程測試后,它就會跑起來了,設斷點,調試,一切都是這么簡單.上面提到的那幾個參數在這里同樣適用.
5). mvn dependency:sources 故名思義,有了它,你就不用到處找源碼了,運行一下,你項目里所依賴的jar包的源碼就都有了
下面介紹幾個常用的Goal
命令 | 描述 |
tomcat:deploy | 部署一個web war包 |
tomcat:reload | 重新加載web war包 |
tomcat:start |
啟動tomcat |
tomcat:stop |
停止tomcat |
tomcat:undeploy |
停止一個war包 |
tomcat:run | 啟動嵌入式tomcat ,並運行當前項目 |