Maven Web应用程序未在本地Tomcat中部署

时间:2015-03-17 20:08:13

标签: java eclipse maven tomcat web-applications

我已经在Eclipse Luna上创建了一个Web应用程序项目(创建为Dynamic Web Project)一段时间了;为了测试,我曾经使用“在服务器上运行”选项,它在我的Tomcat 7服务器上正确运行。

但是现在,我已经对项目进行了少量化,而且我无法像以前那样轻松地运行它。实际上,如果单击项目文件夹或“运行为Maven安装/构建...”,如果单击pom.xml文件,则甚至没有选项“运行在服务器上”,只有“作为Java应用程序/小程序运行”

有什么方法可以回到我在本地服务器上运行我心爱的webapp吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

将此添加到您的pom.xlm

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <url>http://localhost:8080/manager/text</url>
                <server>${tomcat.server.name}</server>
                <webapps>
                    <webapp>
                        <groupId>com.group.id</groupId>
                        <artifactId>artifact</artifactId>
                        <version>1</version>
                        <type>war</type>
                        <asWebapp>true</asWebapp>
                        <path>/path</path>
                    </webapp>
                </webapps>
            </configuration>
        </plugin>
    </plugins>
</build>

在此之后,您必须在Tomcat配置中设置一些内容。我在tomcat/conf/tomcat-users.xml中设置了以下内容:

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

并在Maven的${tomcat.server.name}文件(settings.xml)中设置~/.m2/settings.xml变量的值,以及其他一些内容:

<settings>
...
<profiles>
  <profile>
    <id>profile-1</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
       <tomcat.server.name>TomcatServer</tomcat.server.name>
    </properties>
    ...
  </profile>
</profiles>
<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
</settings>

在此之后,您就可以投放mvn clean install tomcat:deploymvn clean install tomcat:redeploy,然后就可以了。

有关更多配置信息,请参阅docs

相关问题