Spring-boot编译jar包,输出到指定目录

可以使用Maven的maven-resources-plugin插件来在编译完成后自动将JAR文件复制到指定目录。你可以按照以下步骤进行操作:

1. 打开你的Spring Boot项目的根目录,并找到pom.xml文件。

2. 在<build>标签内的<plugins>标签中添加以下配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.2.0</version>
    <executions>
        <execution>
            <id>copy-jar</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>/path/to/destination-directory</outputDirectory>
                <overwrite>true</overwrite>
                <resources>
                    <resource>
                        <directory>${project.build.directory}</directory>
                        <includes>
                            <include>*.jar</include>
                        </includes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

3. 将/path/to/destination-directory替换为你要输出到的目标目录的路径。

4. 保存并关闭pom.xml文件。

5. 在命令行终端中,进入你的Spring Boot项目的根目录。

6. 执行以下命令进行编译和打包:

mvn clean package

Maven将自动执行编译、打包,并在完成后将生成的JAR文件复制到指定目录中。


在 Maven 的 maven-resources-plugin 插件中,<outputDirectory> 元素指定要复制资源的目标目录。

<outputDirectory> 元素的基线目录是 Maven 项目的根目录。如果你在 <outputDirectory> 中指定的是相对路径(不以斜杠开头),那么它将相对于 Maven 项目的根目录。

例如,如果你的 Maven 项目的根目录是 /path/to/project,而你指定的 <outputDirectory>target/classes,那么最终的目标目录将是 /path/to/project/target/classes

同样地,如果你指定的 <outputDirectory> 是绝对路径(以斜杠开头),那么将使用该绝对路径作为目标目录。

确保根据你的需求,使用正确的相对路径或绝对路径来设置 <outputDirectory> 元素。