【问题标题】:Copy resulting fat jar to another target folder in Spring boot project将生成的 fat jar 复制到 Spring Boot 项目中的另一个目标文件夹
【发布时间】:2021-01-23 20:54:13
【问题描述】:

我有 Spring Boot 项目。 /target 文件夹中的所有内容都可以正常构建,但我想更改目标文件夹。 我尝试使用maven-jar-plugin,如下所述,但它只复制带有项目编译类的jar(小jar)。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
        <outputDirectory>${maven.multiModuleProjectDirectory}/output/bin</outputDirectory>
    </configuration>
</plugin>

相反,我想让 Maven 复制 FAT jar。 Maven 构建 FAT jar 并将 Jar 放入 /target 文件夹。如何更改目的地?

更新 1

这是项目需求所需要的 - 需要使用 propertiesbash 脚本(作为入口点)和 fat jar 构建文件夹结构:

【问题讨论】:

  • 你为什么喜欢改变它?
  • 项目要求。
  • 当然我可以在相反的情况下通过 bash 脚本执行此操作,但我会通过 maven 执行此操作。
  • 为什么不为 Raspi 构建 RPM?
  • Linux 包是的。在 Raspian 上(Debian 就像在 Raspi 上)通过 rpm -i xyz.rpm 安装 ...

标签: java spring spring-boot maven


【解决方案1】:

尝试添加this插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <shadedArtifactAttached>true</shadedArtifactAttached>
                <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
                <outputDirectory>${maven.multiModuleProjectDirectory}/output/bin</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 2017-11-16
    • 2021-07-23
    • 2019-06-08
    • 1970-01-01
    相关资源
    最近更新 更多