maven+tomcat6-maven-plugin實現熱部署及調試


  maven project,特別是maven module項目默認情況下是是無法直接通過tomcat等容器部署的,如圖,我要部署fastdev_web這個maven module,可以看出在tomcat部署對話框中是無法選擇的,而且還可以看出,不管fastdev_web不能選,所有的maven項目都不能選:

  這是因為maven項目的目錄結構並不是標准的web目錄結果,我們通過mavne骨架創建的項目,它的web.xml項目描述符不在tomcat所能識別的目錄下,所在部署時才不能選擇。這時就需要tomcat6-maven-plugin這個插件了。不然每次都得clean package打成war后手動部署到tomcat容器上去,最麻煩的就是這個尼瑪不能實時生效(每次修改都得clean package打成war包后放到tomcat上去)。這樣的話也忒麻煩了(我就這樣干了半個月)...

  pom.xml tomcat插件配置(此處用tomcat6,注意tomcat7的url跟tomcat6的不一樣):

        <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat6-maven-plugin</artifactId>
                <version>2.0-beta-1</version>

                <configuration>
                    <url>http://localhost:8080/manager</url>
                    <server>tomcat</server>
                    <username>admin</username> 
                    <password>admin</password>
                    <path>/fastdev_web</path>
                    <contextReloadable>true</contextReloadable>
                </configuration>
            </plugin>

     配置完這個后pom.xml還配置C:\Users\3panjiacai.MSS\.m2\settings.xml(maven的全局配置,您的路徑肯定跟我的不一樣):

  settings.xml代碼如下,這個id需跟我們pom.xml配置的id一致:

 </servers>
  <server>
       <id>tomcat</id>
       <username>admin</username>
       <password>admin</password>
    </server>
 </servers>

     settings.xml配置完后,就需給admin用戶賦權了,這個在tomcat安裝目錄下的conf/tomcat-users.xml文件,賦權代碼如下:

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

     到此所有配置完成,然后就可進行熱部署了:

1、在myeclipse中運行,非遠程(tomcat沒有啟動)
  運行:clean tomcat6:run

重新部署:clean tomcat6:redeploy  

清除部署:tomcat6:undeploy

2、在遠程服務器運行(tomcat必須啟動),執行完后去tomcat webapp目錄下看看發生了生命

  部署:clean tomcat6:deploy

重新部署:clean tomcat6:redeploy  

清除部署:tomcat6:undeploy

  

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM