我有一个多模块Web应用程序。Maven多模块Web应用程序(热插拔)
结构为:
Parent
|
| - - Child 1
| - - Child 2
| - - Web
和Web项目依赖于两个子模块
当使用我的IDE构建项目中,我使用的IDE建设类的WEB- INF/classes文件夹。这很好,因为Web服务器注意到新的类,并重新启动或热部署这些文件。有了maven,我似乎每次都必须从零开始打包整个事情。
我想在maven中找到一种方法,以避免运行mvn:clean mvn:install mvn:war:inplace。相反,我想要一个mvn:comile,然后是那里的东西。
我希望你明白我的意思。测试Web应用程序的速度非常慢,因为在更新事件之前,必须始终构建所有项目JAR并运行som war命令。
的Web应用程序POM:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
...
</parent>
<artifactId>web</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>bla.bla.bla</groupId>
<artifactId>bla_child1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>bla.bla.bla</groupId>
<artifactId>bla_child2</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.0.4.v20130625</version>
<configuration>
<scanIntervalSeconds>30</scanIntervalSeconds>
<webApp>
<contextPath>/blabla</contextPath>
</webApp>
</configuration>
</plugin>
</plugins>
</build>
</project>
您使用的是什么IDE?有些像Eclipse一样,通过像[m2e](http://eclipse.org/m2e/)和[WTP](http://projects.eclipse.org/projects/webtools)这样的插件对maven和webapps提供了很好的支持。 –
IntelliJ。 IDE中并不缺乏对它的支持,但我认为这完全可以在maven中完成。 – AnAmuser
[maven jetty插件](http://maven.apache.org/plugins/maven-war-plugin/examples/rapid-testing-jetty6-plugin.html)不适合您的需求吗?在'mvn compile'之后没有选择更新的'target/classes'? –