一、Maven項目建立html
1.1 新建工程,Maven->Maven Projectweb
1.2 選擇archeType:maven-archetype-webappspring
1.3 輸入Group Id, Artifact Id, Version, Package,這四個屬性惟一肯定項目的座標。apache
1.4 Development Assembly:test信息不須要打包,須要移除。tomcat
1.5 Java Compiler:Compiler compliance level 通常選擇1.6.服務器
2、Maven集成tomcat熱部署配置mvc
本機使用Eclipse-jee-kepler,apache-tomcat-7.0.47,JDK1.6.0_05和apache-maven-3.2.2app
2.1 修改tomcat下conf/tomcat-users.xml配置,如增長用戶zgr,這裏雖然沒有顯示定義manager-script角色,顯然,這是tomcat默認就有的,只是其下面沒有添加任何用戶:webapp
<user username="zgr" password="zgr" roles="manager-script"/>
2.2 修改apache-maven-3.2.2\conf\settings.xml,定義tomcat7服務器,id是自定義的,下面還會用到,用戶名密碼與2.1tomcat-users.xml配置中選擇的用戶一致。maven
<servers> <server> <id>tomcat7</id> <username>zgr</username> <password>zgr</password> </server> </servers>
2.3 項目pom.xml添加插件tomcat7-maven-plugin,server值"tomcat7"引用的就是2.2定義的server id。
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8088/manager/text</url> <server>tomcat7</server> </configuration> </plugin>
3、項目打包發佈到tomcat
條件都已準備好了,只須要啓動了。
3.1 手動啓動tomcat7。
3.2. 項目右鍵選擇Run As-> Run Configurations,Maven Build下New launch configuration:
Base directory:項目所在目錄
Goals:構建目標tomcat7:redeploy
3.3 點擊Run按鈕,打包發佈。
3.4 訪問:http://localhost:8088/zgr-springmvc
後記
配置的過程並無這麼順利,說說遇到的問題:
1 網上有文章說2.1配置好後,啓動tomcat,訪問:http://localhost:8088/manager,在彈出界面輸入用戶名密碼,能夠進入tomcat默認頁面。其實不行,會報403訪問被拒絕。而若是把zgr用戶的角色指定爲"manager-gui",那麼能夠訪問上述連接。
2 2.3配置中url必須配置爲http://ipaddr:port/manager/text。其實這樣看來,tomcat徹底能夠是遠程機器的。若是配置爲http://ipaddr:port/manager/html,而zgr的roles不管指定爲"manager-script"或者"manager-gui",都會報403錯誤。
3 3.2 Goals配置中tomcat7:redeploy,其中tomcat7是tomcat7-maven-plugin插件的Goal Prefix,redeploy是該插件的一個目標。若是改成tomcat:redeploy,那麼Maven默認找尋Goal Prefix是tomcat的插件,並執行其redeploy目標。
箇中教訓,只有親歷者才能明白。
參閱:http://blog.csdn.net/foxhlc/article/details/8725992
http://wenku.baidu.com/link?url=hIZIhpibzQYC5aTXvPF-abe1UfFxZXMbJ6-GOnUIcred7KCKt-UbfC5ATGDZaGvAnWyc9jv-j1FeYk-0ciwGayB5qoFMFmHe5vZteMB9caW