【问题标题】:Maven web app not deploying in local TomcatMaven Web 应用程序未部署在本地 Tomcat 中
【发布时间】:2015-05-20 10:49:37
【问题描述】:
我在 Eclipse Luna 上有一个 Web 应用程序项目(创建为动态 Web 项目)有一段时间了;为了测试,我曾经使用“在服务器上运行”选项,它在我的 Tomcat 7 服务器上正确运行。
但是现在,我已经完成了这个项目,我无法像以前那样轻松地运行它。实际上,甚至没有“在服务器上运行”选项,如果单击项目文件夹,则只有“作为 Java 应用程序/Applet 运行”,如果单击 pom.xml 文件,则只有“作为 Maven 安装/构建...” .
有什么方法可以让我回到我的本地服务器上运行我心爱的 web 应用程序?
谢谢!
【问题讨论】:
标签:
java
eclipse
maven
tomcat
web-applications
【解决方案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 的 settings.xml 文件 (~/.m2/settings.xml) 中设置 ${tomcat.server.name} 变量的值,以及其他一些东西:
<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:deploy 或 mvn clean install tomcat:redeploy,然后运行。
有关更多配置信息,请参阅docs!