2012-03-11 42 views
3

我正在運行mvn tomcat:部署爲了嘗試和部署我想在Tomcat 7.0.8中的虛擬主機上運行的war文件。我已經驗證了虛擬主機工作正常,並且已經通過管理器應用程序複製到虛擬主機。Maven Tomcat插件 - 指定戰爭的目的地?

更新我的pom指向我的新虛擬主機,當我運行mvn tomcat時:重新部署它不會將我的war文件放入正確的文件夾。它似乎總是把它放在webapps文件夾中。如果我然後將戰爭複製到我爲我的虛擬主機設置的文件夾中,那麼它可以工作,但它不會自動執行此操作。

我是否缺少配置選項?有沒有warDestination設置或類似的?

僅供參考,這裏是從我的pom.xml片段:

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>tomcat-maven-plugin</artifactId> 
      <configuration> 
       <url>http://myvhost.local:8080/manager/html</url> 
       <server>myvhost</server> 
       <path>/</path> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

,並從我的settings.xml相關片段:

<servers> 
    <server> 
     <id>myvhost</id> 
     <username>testing</username> 
     <password>testing</password> 
    </server> 
</servers> 

更新:我改變解決了這個問題我用的插件如下:

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-beta-1</version> 
    <configuration> 
     <url>http://myvhost.local:8080/manager/html</url> 
     <server>myvhost</server> 
     <path>/</path> 
    </configuration> 
</plugin> 

我再嘗試運行MVN tomcat7:部署,但發現我不得不添加下面我的settings.xml爲了使tomcat7前綴予以確認:

<pluginGroups> 
    <pluginGroup>org.apache.tomcat.maven</pluginGroup> 
</pluginGroups> 

我現在可以部署到我的虛擬主機運行mvn tomcat7:部署 - 不幸的是,我看不到一種重新部署已經部署的戰爭的方式,因爲我可以用以前的插件....我會繼續尋找。

UPDATE:它看起來像重新部署能力是2.0快照版本tomcat7 - Maven的插件插件而不是2.0-β-1版本的在庫中。希望這將很快發佈。

謝謝,

詹姆斯。

+0

我知道這不是你要找的 - 但爲什麼不只是使用jetty進行開發呢? (碼頭:運行)。不知道關於tomcat,但我認爲你可以在特定於應用程序的webapp描述符(jetty-web.xml)中配置虛擬主機 – ianpojman 2012-05-19 01:20:41

+0

我已經嘗試過,但是我無法設置指定tomcat的位置。我開始使用Maven Cargo插件。你可以看看它[這裏](http://cargo.codehaus.org/Maven2+plugin)它可以讓你有更多的選擇。 – GokcenG 2012-07-10 19:24:53

+0

嘗試'mvn tomcat7:重新部署' – NikedLab 2014-01-28 09:19:25

回答

2

您可以在配置設置中使用定義war文件路徑。請在下面找到示例代碼snippt

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <configuration> 
      <warFile>/path/file.war</warFile> 
     </configuration> 
</plugin>