2012-02-25 168 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

相关问题