java - Maven 插件来操作现有的 jar

标签 java maven jar maven-3

我已经有 Maven 构建 pom(稍微复杂),它为我的项目创建编译和准备的 jar 文件。我通过使用目标部分中的复制,使用 maven-antrun-plugin 将该文件复制到各个目标。

我想要实现的是更改每个副本中的 list 文件(向其中添加一些内容)。例如:

prepared.jar -- 复制到 -->/linux/prepared-linux.jar (与prepared.jar内容相同,但 list 包含Linux特有的内容)

prepared.jar -- 复制到 -->/win64/prepared-win64.jar (与prepared.jar内容相同,但 list 包含特定于windows的内容)

我不想多次创建prepared.jar,只是为了复制它并更改副本中的 list 。有谁知道一些 Maven 3.1 兼容插件能够做到这一点,并且易于配置并且可以在 Windows 和 Linux 平台上运行?

最佳答案

发布替代方案只是为了提供信息,希望您不要介意。基本上,您可以通过使用 maven-jar-plugin 多次执行来实现相同的目的,例如

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <executions>
        <execution>
            <id>only-library</id>
            <goals>
                <goal>jar</goal>
            </goals>
            <phase>package</phase>
        </execution>
        <execution>
            <id>linux</id>
            <goals>
                <goal>jar</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                <classifier>linux</classifier>
                <archive>
                    <index>true</index>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                    <manifestEntries>
                        <yourKey>linux</yourKey>
                    </manifestEntries>
                </archive>
            </configuration>
        </execution>
        <execution>
            <id>win64</id>
            <goals>
                <goal>jar</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                <classifier>win64</classifier>
                <archive>
                    <index>true</index>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                    <manifestEntries>
                        <yourKey>win64</yourKey>
                    </manifestEntries>
                </archive>
            </configuration>
        </execution>
    </executions>
</plugin>

关于java - Maven 插件来操作现有的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840167/

相关文章:

java - 如何通过index.html spring更改index.jsp

maven - 可以将 SonarQube 分析器从 Maven 切换到 Sonar-Runner 吗?

java - <name> 的 POM 无效,传递依赖项(如果有)将不可用

maven - 如何解决 IntelliJ 中的 Maven 插件错误?

java - 执行双击java jar文件时的输出流

java - 在jar中查找静态文件

python - PyCharm 无法运行程序 C :\\Anaconda\\python. exe

java - "Google Maps for Mobile"上的滚动如何工作?

java - 是否可以在 C# 或 JAVA 中开发一些基于字符串的搜索条件?

java - Builder设计模式,在多线程环境中返回null