Maven重命名文件打包到jar

时间:2013-03-20 13:17:17

标签: maven

通过Maven我正在尝试创建两个独立的jar,每个jar中有一个不同的dll(32位和64位),但dll必须在jar的根目录下以相同的名称结尾。 我可以创建单独的罐子没问题,但似乎无法找到重命名文件的方法。

我尝试将具有相同名称的文件放在不同的目录中,将它们复制到目标,然后构建jar。但是因为我把它们放在不同的目录中,所以它们最终不会出现在jar的根目录中。

我需要这个,因为我正在创建一个Applet并使用Java Web Start进行部署。 dll需要位于不同的jar中以针对不同的体系结构,并且需要处于根本位置 根据JNLP规范,罐子。

开始位置:

\src
     \main
        \resources
            rxtxSerial32.dll
            rxtxSerial64.dll

期望的结束位置:

native-dll-32.jar
    rxtxSerial.dll (the 32 bit version)

native-dll-64.jar
    rxtxSerial.dll  (the 64 bit version)

要获得单独的罐子,我正在使用maven-jar-plugin

          <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <executions>
              <execution>
                <id>native-dll-64</id>
                <goals><goal>jar</goal></goals>
                <phase>package</phase>
                <configuration>
                  <classifier>native-dll-64</classifier>
                  <includes>
                    <include>**/rxtxSerial64.dll</include>
                  </includes>
                </configuration>
              </execution>
            </executions>
        </plugin>

任何帮助非常感谢。也许我需要一个全新的战术?

1 个答案:

答案 0 :(得分:1)

我建议你为这些创建两个项目,因为你想要最终得到两个jar文件。如果项目在构建中共享通用功能,则可以将其放入父POM文件中。

从一个项目生成多个jar文件会导致大多数情况下出现问题 - 我通常会尽量避免这种情况。一个项目 - 遵循这个规则的一个工件帮助了我几次。