1.下載tomcat7并配置好java_HOME,tomcat7/webapps目錄除了manager之外,其它都可以刪除(刪除沒(méi)用的,可加速tomcat的啟動(dòng)).
2.新建系統(tǒng)變量CATALINA_HOME,值為:C:/opensource/tomcat-7.0.34,在系統(tǒng)變量Path的最后面添加%CATALINA_HOME%/lib; %CATALINA_HOME%/lib/servlet-api.jar;%CATALINA_HOME%/lib/jsp-api.jar注意它們之間的分號(hào),一定是英文的分號(hào)。
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"/>
當(dāng)然用戶名和密碼可以不一樣,但沒(méi)有manager-gui就不能通過(guò)瀏覽器去訪問(wèn)manage應(yīng)用,沒(méi)有manager-script就不能通過(guò)manage去上傳war包達(dá)到部署的目的.
3.配置maven的setting.xml
修改%MAVEN_HOME%/conf/setting.xml(前提是在myeclipse PReferences中maven啟用本地安裝版本并設(shè)置用戶setting.xml為本地conf下的setting.xml)。
在<servers>標(biāo)簽中加入
<server> <id>tomcat7</id> <username>admin</username> <password>admin</password> </server>
注意這里用戶名、密碼必須為manager-gui角色的用戶,這里設(shè)置需要與之前tomcat配置時(shí)的角色分配對(duì)應(yīng)起來(lái)。
4.在web項(xiàng)目的pom.xml的一個(gè)應(yīng)用例子(注: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òng),在命令行轉(zhuǎn)到項(xiàng)目目錄下輸入d:/maven3/bin/mvn tomcat7:deploy看結(jié)果.(注:不是tomcat:deploy)
在eclipse配置好外部的maven,在eclipse的run configurations建一個(gè)Maven Build:Name隨便起一個(gè)名字(如tomcat7_redeploy),Base directory選項(xiàng)目目錄${workspace_loc:/testweb},goals填tomcat7:deploy.或tomcat7:redeploy
deploy:如果已經(jīng)部署過(guò),再deploy就會(huì)失敗.去tomcat7的webapps刪除已經(jīng)部署過(guò)的就行了.
6.五個(gè)必須掌握的maven命令
1). mvn help:describe 你是否因?yàn)橛洸磺迥硞€(gè)插件有哪些goal而痛苦過(guò),你是否因?yàn)橄氩黄鹉硞€(gè)goal有哪些參數(shù)而苦惱,那就試試這個(gè)命令吧,它會(huì)告訴你一切的. 參數(shù): 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:與-Dplugin一起使用,它會(huì)列出某個(gè)插件的goal信息,如果嫌不夠詳細(xì),同樣可以加-Ddetail.(注:一個(gè)插件goal也被認(rèn)為是一個(gè) “Mojo”) 下面大家就運(yùn)行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!
2). mvn archetype:generate 你是怎么創(chuàng)建你的maven項(xiàng)目的?是不是像這樣:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,如果你還再用的話,那你就out了,現(xiàn)代人都用mvn archetype:generate了,它將創(chuàng)建項(xiàng)目這件枯燥的事更加人性化,你再也不需要記那么多的archetypeArtifactId,你只需輸入archetype:generate,剩下的就是做”選擇題”了.
3). mvn tomcat:run 用了maven后,你再也不需要用eclipse里的tomcat來(lái)運(yùn)行web項(xiàng)目(實(shí)際工作中經(jīng)常會(huì)發(fā)現(xiàn)用它會(huì)出現(xiàn)不同步更新的情況),只需在對(duì)應(yīng)目錄(如/ryanote)里運(yùn)行 mvn tomat:run命令,然后就可在瀏覽器里運(yùn)行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 當(dāng)然你也可以在命令里加參數(shù)來(lái)實(shí)現(xiàn)特定的功能,下面幾個(gè)比較常用: 1. 跳過(guò)測(cè)試:-Dmaven.test.skip(=true) 2. 指定端口:-Dmaven.tomcat.port=9090 3. 忽略測(cè)試失敗:-Dmaven.test.failure.ignore=true 當(dāng)然,如果你的其它關(guān)聯(lián)項(xiàng)目有過(guò)更新的話,一定要在項(xiàng)目根目錄下運(yùn)行mvn clean install來(lái)執(zhí)行更新,再運(yùn)行mvn tomcat:run使改動(dòng)生效.
4). mvnDebug tomcat:run 這條命令主要用來(lái)遠(yuǎn)程測(cè)試,它會(huì)監(jiān)聽(tīng)遠(yuǎn)程測(cè)試用的8000端口,在eclipse里打開(kāi)遠(yuǎn)程測(cè)試后,它就會(huì)跑起來(lái)了,設(shè)斷點(diǎn),調(diào)試,一切都是這么簡(jiǎn)單.上面提到的那幾個(gè)參數(shù)在這里同樣適用.
5). mvn dependency:sources 故名思義,有了它,你就不用到處找源碼了,運(yùn)行一下,你項(xiàng)目里所依賴的jar包的源碼就都有了
下面介紹幾個(gè)常用的Goal
命令 | 描述 |
tomcat:deploy | 部署一個(gè)web war包 |
tomcat:reload | 重新加載web war包 |
tomcat:start | 啟動(dòng)tomcat |
tomcat:stop | 停止tomcat |
tomcat:undeploy | 停止一個(gè)war包 |
tomcat:run | 啟動(dòng)嵌入式tomcat ,并運(yùn)行當(dāng)前項(xiàng)目 |
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注