【发布时间】:2016-07-12 06:46:26
【问题描述】:
我有一个关于 maven 及其 tomcat7 插件的问题 :)
我有以下 maven 项目:
- plugin1:普通的java项目打包成jar
- plugin2:普通的java项目打包成jar
- webapp:独立的 webapp 项目打包为 jar
这三个项目在 maven 中正确构建,结果运行良好:
- 我可以使用 plugin1/plugin2 中的 jars
- 我可以将 webapp war 文件部署到 web 容器中
- 我可以运行 tomcat7:run 来启动 webapp
现在,我需要提供包含特定插件设置的 webapp 的不同包装。 即我想用 webapp + plugin1 生成一个war文件,用 webapp + pugin2 生成另一个文件
为了实现这一点,我创建了 2 个附加的 maven 项目,它们声明了对 webapp 项目 + 适当的插件项目的依赖关系,并被打包为战争。 生成的war文件具有预期的内容,并且可以部署到tomcat,但是当我尝试使用maven tomcat插件(tomcat7:再次运行)时,它根本没有启动任何东西。
虽然这对我来说并没有阻碍(我的主要目的是生成战争文件),但我感觉我错过了一些东西。
这些聚合项目的 pom.xml 看起来像这样(请注意,这些项目中绝对没有代码,这些只是为了方便打包而创建的)。
<groupId>my.project</groupId>
<artifactId>live1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>MyWebapp</name>
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<dependency>
<groupId>my.project</groupId>
<artifactId>plugin1</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>my.project</groupId>
<artifactId>webapp</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<finalName>MyWebapp</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<url>http://localhost:8080/manager</url>
<server>localhost</server>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
</plugins>
</build>
谢谢!
注意:长期潜伏,第一次在这里提问,如果缺少某些信息,请告诉我:)
【问题讨论】: