我有这样一个多模块Maven项目:Maven - 如何自定义依赖关系的构建?
project
project-core
project-webapp
project-core
是project-webapp
的依赖。在构建project-core
时,我排除了最后一个jar中的一些元素。当我使用maven(通过m2eclipse)构建和部署整个项目时,一切都很好。
但是,如果我使用WTP构建和部署,则会跳过资源筛选。
到目前为止,我发现的唯一工作是禁用m2eclipse的工作空间分辨率。这样,WTP就会用maven构建的jar来构建最终的战争。此解决方法的主要缺点是每次修改project-core
源代码时,我都必须安装,更新项目。
我该如何强制WTP过滤掉project-core
的资源?
项目/项目核心/ pom.xml的
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>project</artifactId>
<groupId>com.company.project</groupId>
<version>1.0.0</version>
</parent>
<artifactId>project-core</artifactId>
<name>project-core</name>
<version>${version.project}</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
// (huge) dependencies list ...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<excludes>
<exclude>file.properties</exclude>
<exclude>DIR/file.xml</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
// repositories ...
</repositories>
</project>
编辑:
但是,如果我构建和部署WTP,资源过滤被跳过。
其实我没有在阶段上做过滤。这些资源仅在建造罐子时被过滤。感谢@Samuel EUSTACHI,我现在过滤资源时,他们被复制到target
文件夹。在这里,我是如何做到的:
项目/项目核心/ pom.xml的
<build>
<!--
I removed completely the plugins node and
replace it with the resources node
-->
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>file.properties</exclude>
<exclude>DIR/file.xml</exclude>
</excludes>
</resource>
</resources>
</build>
你能显示完整的pom文件吗? – khmarbaise
@khmarbaise查看我的更新 – Stephan