【发布时间】:2018-05-14 06:49:57
【问题描述】:
我有两个项目,它们是从一个 maven 多项目构建的,项目 A 和项目 B。项目 B 最近上线,与项目 A 差别不大,即它使用了几个不同的配置文件。我的想法是为 projectB 创建配置文件并添加其他配置文件/替换现有配置文件。我在 stackoverflow 上尝试了几种方法,包括复制重命名插件和 mvn 依赖插件。部分问题似乎是两个项目都有一个具有相同配置名称的文件。
我当前/最后的方法是通过以下方式使用 maven-resources-plugin: 我创建了一个附加目录:src/main/projectbresources 和一个 projectbprofile:
<profile>
<id>projectb</id>
<activation><activeByDefault>false</activeByDefault></activation>
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>src/main/projectbresources</directory>
<filtering>true</filtering>
</resource>
</resources>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
我在 src/main/resources 和 src/main/projectbresources 中都有一个同名的文件,但是,无论我使用什么配置文件构建,来自 src/main/resources 的文件始终位于目标文件夹中。仅将 projectbresources 中的其他文件复制到目标。
【问题讨论】:
-
为什么在两个位置有同一个文件?问题是文件里面有什么?你想达到什么目标?
标签: java maven build resources copy