我使用 Maven 的资源标签来处理包含在最终 JAR 中的 Java 资源包:
<resources>
<resource>
<targetPath>lang/</targetPath>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources/</directory>
<includes>
<include>localization*.properties</include>
</includes>
</resource>
</resources>
由于自动资源加载的性质,我需要两次包含英文文件:作为标准英文文件 (localization_en.properties
) 和作为在未找到更具体的本地化时提供后备的基本文件 (localization.properties
)。目前,这两个文件都存在于资源目录中,尽管它们的内容完全相同。
我正在寻找一种方法,让 Maven 复制当前的 localization_en.properties
并将其包含在基本名称中,因此我不再需要资源目录中的两个单独的文件。
最佳答案
我相信您可以使用ant复制任务完成您需要的操作。像这样的事情:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>copy-files</id>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="copy your files">
<copy file="a.txt" tofile="a_eng.txt" />
<copy file="a.txt" tofile="a.txt" />
</target>
</configuration>
</execution>
</executions>
</plugin>
关于java - 在 Maven 构建的 JAR 中多次包含不同名称的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24118667/