在多模块专家项目中指定公共资源
2022-09-01 03:57:03
有没有办法在 Maven 中父项目的模块之间共享资源?例如,我想为多模块 Maven 项目中的所有模块指定一个 log4j.properties 文件。
通常,我使用 Eclipse IDE 通过选择一个常规项目来创建父项目,然后通过指定 .这将创建一个“干净”的项目结构,没有和等文件夹。我想知道在这种情况下应该把这样的共享资源放在哪里。pom
src
编辑1:我想把公共资源放在父项目中。
有没有办法在 Maven 中父项目的模块之间共享资源?例如,我想为多模块 Maven 项目中的所有模块指定一个 log4j.properties 文件。
通常,我使用 Eclipse IDE 通过选择一个常规项目来创建父项目,然后通过指定 .这将创建一个“干净”的项目结构,没有和等文件夹。我想知道在这种情况下应该把这样的共享资源放在哪里。pom
src
编辑1:我想把公共资源放在父项目中。
我会创建一个额外的“基本”模块(项目),打包“jar”,其中包含 中的公共资源。然后我会让其他模块依赖于该项目。现在,他们可以在类路径上看到公共资源。src/main/resources
Antoher 的可能性是使用远程资源包。您将能够在父项目中配置它。在此示例中,我想复制一些文件仅用于测试。如果使用此选项,则需要在另一个项目中创建捆绑包。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.5</version>
<configuration>
<resourceBundles>
<resourceBundle>es.sca:myBundle:1.0.0</resourceBundle>
</resourceBundles>
<attachToMain>false</attachToMain>
<attachToTest>true</attachToTest>
<appendedResourcesDirectory>${basedir}/src/test/resources</appendedResourcesDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
</execution>
</executions>
</plugin>