project-war
在 war 模块 ( ) 中创建配置文件。在此配置文件中,将 jetty 配置为附加到生命周期阶段并run
明确执行目标。现在,当 maven 从启用该配置文件的顶层项目运行时,它将调用 jetty:run 并具有姊妹模块依赖关系解析(从顶层项目执行 maven 命令时是正常的)。
示例配置放在 web 模块 ( project-war
) 的 pom.xml 中时,会安排 jetty:run 在该test
阶段执行。(您可以选择另一个阶段,但要确保它在 之后compile
。)
从顶层运行:mvn test -Pjetty-run
或mvn test -DskipTests=true -Pjetty-run
. 这将根据需要编译依赖项并使它们可用,但在正确的模块中调用 jetty:run。
<profiles>
...
<!-- With this profile, jetty will run during the "test" phase -->
<profile>
<id>jetty-run</id>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.1.6.v20100715</version>
<configuration>
...
<webAppSourceDirectory>
${project.build.directory}/${project.build.finalName}
</webAppSourceDirectory>
...
</configuration>
<executions>
<execution>
<id>jetty-run</id>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
...
</profiles>