2012-02-25 120 views
3

當使用mvn tomcat:run時,Maven將Tomcat軟件包下載到目標目錄中,並且該插件使用web項目啓動此Tomcat實例。這個Tomcat實例在Eclipse的服務器視圖中不可見。Maven命令:mvn tomcat:運行

但我有一個本地Tomcat 6安裝,我可以配置Tomcat插件的方式,它使用此本地Tommcat實例(在CATALINA_HOME下),而不是將新版本安裝到目標項目中?

回答

2

這是設計。 tomcat:run官方文檔說:

在開發戰爭項目時,通常會構建戰爭並將其部署到已安裝的Tomcat實例。這是耗費時間和資源,需要時間在本地安裝實例。 運行mojo讓您有機會通過在Maven構建中簡單地在嵌入的Tomcat實例中運行您的戰爭來保存它。

因此,我必須在服務器視圖中啓動已安裝的Tomcat實例,然後Maven插件正在使用此服務器實例來訪問非Tomcat的其他目標:運行。

1

1)升級你的Tomcat到Tomcat 7,

2)配置Tomcat的users.xml中包括一組憑據:

<tomcat-users> 
<role rolename="manager-gui"/> 
<role rolename="manager-script"/> 
<role rolename="manager-jmx"/> 
<role rolename="manager-status"/> 
<role rolename="manager"/> 
<role rolename="admin-gui"/> 
<role rolename="admin-script"/> 
<role rolename="admin"/> 

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

你的Maven .settings.xml:

<server> 
     <id>local_tomcat</id> 
     <username>admin</username> 
     <password>password</password> 
    </server> 

用新的Tomcat插件創建一個新的'dev'配置文件:

<profile> 
     <id>dev</id> 
     <build> 
      <finalName>tjb</finalName> 
      <pluginManagement> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.tomcat.maven</groupId> 
         <artifactId>tomcat-maven-plugin</artifactId> 
         <version>2.0-beta-1</version> 
         <configuration> 
          <url>http://localhost:8080/manager/text</url> 
          <server>local_tomcat</server> 
          <path>/</path> 
         </configuration> 


        </plugin> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-war-plugin</artifactId> 
         <version>2.1.1</version> 
        </plugin> 

       </plugins> 
      </pluginManagement> 
     </build> 
    </profile> 
+0

這解釋瞭如何安裝Tomcat,但沒有解釋我的問題。 – ChrLipp 2012-02-27 20:33:57

+0

@ChrLipp我很困惑,因爲你明確表示你想了解'配置',而且在我的關於安裝Tomcat的答案中沒有看到任何說明 – thejartender 2012-02-27 20:46:28

+0

對不起,你是對的。你正在解釋如何配置Tomcat。我想知道的是如何避免maven tomcat:run啓動一個嵌入式Tomcat。 – ChrLipp 2012-03-01 14:02:46

相關問題