我有一个使用Maven打包为EAR的Java EE项目,它包含以下结构的两个WAR模块(一个Web一台移动设备):
EAR
-Entities.jar
-EJB.jar
-Test.jar
-Web.war
-Mobile.war
我在Web.war / WEB-INF中有一个目录,其中包含一些两个.wars都通用的.xhtml文件。
有什么方法可以指示Maven在构建过程中自动将此目录复制到另一个.war中?
例如。我想..
WebApp-Web/src/main/webapp/WEB-INF/emails/*
内置
WebApp/WebApp-web/WEB-INF/emails
和
WebApp/WebApp-mobile/WEB-INF/emails
(我正在使用maven-war-plugin
顺便说一句)
如果将共享资源添加到“父项目”(或其他地方)中,则可以在maven-war-plugin的webResources标记中定义相对路径(对于两个Web项目):
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<webResources>
<resource>
<directory>../src/main/resources</directory>
<targetPath>WEB-INF</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
另一种方法是在构建时使用maven-resources-plugin从相对路径复制文件,但是我相信maven-war-plugin方法更好。
使用maven-资源-插件:(来源如何对获得-A-战争封装与资源复制的功能于WEB-INF)我只改变了目录,使其相对于其父(即:../src/main/resource
)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.2</version>
<executions>
<execution>
<id>default-copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/</outputDirectory>
<resources>
<resource>
<directory>../src/main/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句