java - 在 Maven 构建的 JAR 中多次包含不同名称的文件

标签 java maven localization resourcebundle

我使用 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/

相关文章:

java - 如何更有效地从互联网上获取数据?

java - 没有内容的空文件

python - 如何找出当前系统首选语言是什么

java - Android CountDownTimer 作为一个单独的类

java - 如何使用 Intent 传递类的对象?

hibernate - 未能执行目标和 hibernate 无效 LOC header (错误签名)

java - 正确设置工具链后 Maven 构建错误

java - 在 Maven 中为 Selenium/Cucumber 使用不同环境的配置文件属性

python - 多语言 flask 应用

ios - swift : How to change language inside app?