Maven命令:mvn tomcat:run

时间:2012-02-25 20:22:40

标签: tomcat6 maven-plugin

使用mvn tomcat:run时,Maven将Tomcat捆绑包下载到目标目录中,插件使用Web项目启动此Tomcat实例。在Eclipse的服务器视图中看不到此Tomcat实例。

但是我安装了一个本地Tomcat 6,我能否以一种使用本地Tommcat实例(在CATALINA_HOME下)而不是在目标项目中安装新版本的方式配置Tomcat插件?

2 个答案:

答案 0 :(得分:2)

这是设计的。 tomcat:run的官方文件说:

在开发war项目时,通常会构建war并将其部署到已安装的Tomcat实例。这是耗费时间和资源的,并且需要时间在本地安装实例。 运行mojo让你有机会通过在Maven构建中的嵌入式Tomcat实例中运行你的战争来保存它。

所以我必须在服务器视图中启动已安装的Tomcat实例,然后maven插件将此服务器实例用于tomcat之外的目标:run。

答案 1 :(得分: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>