Spring Boot 打包分离依赖 JAR 和配置文件

  1  <properties>
  2         <java.version>1.8</java.version>
  3         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  4         <!--自定义路径-->
  5         <directory>c:/makeCode/${name}/</directory>
  6         <!--跳过检查-->
  7         <skipCheck>false</skipCheck>
  8         <!--跳过测试代码-->
  9         <skipTests>true</skipTests>
 10         <skipDocs>true</skipDocs>
 11     </properties>
 12
 13     <dependencies>
 14         ………………
 15     </dependencies>
 16
 17     <build>
 18         <plugins>
 19             <!--clean其它路径下的文件-->
 20             <plugin>
 21                 <groupId>org.apache.maven.plugins</groupId>
 22                 <artifactId>maven-clean-plugin</artifactId>
 23                 <configuration>
 24                     <!--除默认目录外,要删除的文件列表-->
 25                     <filesets>
 26                         <fileset>
 27                             <directory>${directory}</directory>
 28                         </fileset>
 29                     </filesets>
 30                 </configuration>
 31             </plugin>
 32
 33             <!--打包jar-->
 34             <plugin>
 35                 <groupId>org.apache.maven.plugins</groupId>
 36                 <artifactId>maven-jar-plugin</artifactId>
 37                 <configuration>
 38                     <!--不打包资源文件-->
 39                     <excludes>
 40                         <exclude>*.**</exclude>
 41                     </excludes>
 42                     <archive>
 43                         <manifest>
 44                             <addClasspath>true</addClasspath>
 45                             <!--MANIFEST.MF 中 Class-Path 加入前缀-->
 46                             <classpathPrefix>lib/</classpathPrefix>
 47                             <!--jar包不包含唯一版本标识-->
 48                             <useUniqueVersions>false</useUniqueVersions>
 49                             <!--指定入口类-->
 50                             <mainClass>com.madaima.ipmanagement.IpManagementApplication</mainClass>
 51                         </manifest>
 52                     </archive>
 53                     <outputDirectory>${directory}</outputDirectory>
 54                 </configuration>
 55             </plugin>
 56
 57             <!--拷贝依赖 copy-dependencies-->
 58             <plugin>
 59                 <groupId>org.apache.maven.plugins</groupId>
 60                 <artifactId>maven-dependency-plugin</artifactId>
 61                 <executions>
 62                     <execution>
 63                         <id>copy-dependencies</id>
 64                         <phase>package</phase>
 65                         <goals>
 66                             <goal>copy-dependencies</goal>
 67                         </goals>
 68                         <configuration>
 69                             <outputDirectory>
 70                                 ${directory}/lib/
 71                             </outputDirectory>
 72                         </configuration>
 73                     </execution>
 74                 </executions>
 75             </plugin>
 76
 77             <!--拷贝资源文件 copy-resources-->
 78             <plugin>
 79                 <artifactId>maven-resources-plugin</artifactId>
 80                 <executions>
 81                     <execution>
 82                         <id>copy-resources</id>
 83                         <phase>package</phase>
 84                         <goals>
 85                             <goal>copy-resources</goal>
 86                         </goals>
 87                         <configuration>
 88                             <resources>
 89                                 <resource>
 90                                     <directory>src/main/resources</directory>
 91                                     <!-- 指定参与构建的resoures-->
 92                                     <includes>
 93                                         <include>*.**</include>
 94                                     </includes>
 95                                 </resource>
 96                             </resources>
 97                             <outputDirectory>${directory}/config</outputDirectory>
 98                         </configuration>
 99                     </execution>
100                 </executions>
101             </plugin>
102         </plugins>
103     </build>   

这样配置后,打包出来的文件就在,c:/makeCode/pom文件中的name/

config中是配置文件,lib文件中是依赖jar包

直接

java -jar 文件名.jar

就可以启动了

原文地址:https://www.cnblogs.com/ztgzlu/p/11011125.html

时间: 2024-08-04 17:35:20

Spring Boot 打包分离依赖 JAR 和配置文件的相关文章

spring boot打包,依赖、配置文件分离,拷贝启动脚本

一.最终打包的目录结构 二.项目结构 三.开始 1.最终打包的目录,可根据自己需要修改. <properties> <mzservice.path>${project.build.directory}/mzservice</mzservice.path> </properties> 2.配置清理插件,每次打包前,清理之前生成的打包目录. <plugin> <artifactId>maven-clean-plugin</artif

Spring Boot打包部署修改jar文件名

只需要在pom.xml的<build>标签中加上这个即可: 1 <build> 2 <finalName>my-spring-boot</finalName> <!-- 指定package生成的文件名为my-spring-boot.jar --> 3 4 <plugins> 5 ...... 6 </plugins> 7 </build> 原文地址:https://www.cnblogs.com/import-

spring/boot 打包,资源/配置/业务文件分离

spring/boot打包,将业务jar包和资源配置文件进行分离打包,打包后的资源在target/release文件夹下面 注意:添加以下配置后,注意修改自己的入口类 <!--相关编译打包依赖--> <build> <plugins> <!--打包jar--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-p

spring boot项目application.properties多环境配置文件、jar包外部配置文件

一.简介 spring boot项目application.properties文件存放及使用介绍 二.方法一多环境配置文件 我们一般都会有多个应用环境,开发环境.测试环境.生产环境,各个环境的配置会略有不同,我可以根据这个创建多份配置文件,由主配置文件来控制读取那个子配置 创建spring boot项目后可以同时创建多个.properties文件,只要符合它要求的格式即可 格式:application-{profile}.properties:{profile}是变量用于自定义配置文件名称 分

spring boot打包以及centos下部署

spring boot打包以及部署 一.打包 springboot的打包方式有很多种.有打成war的,有打成jar的,也有直接提交到github,通过jekins进行打包部署的.这里主要介绍如何打成jar进行部署.不推荐用war,因为springboot适合前后端分离,打成jar进行部署更合适. 需要在pom.xml中增加主程序入口 <build> <plugins> <plugin> <groupId>org.springframework.boot<

Spring Boot 学习第一课:pom配置文件中引用的依赖的细节解释

最近开始学习Spring Boot,关于配置文件有部分理解,请见红色注释部分. <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&quo

Spring boot 打包瘦身方法

背景 随着spring boot 的流行.越来越多的来发着选择使用spring boot 来发 web 应用. 不同于传统的 web 应用 需要 war 包来发布应用. spring boot 应用可以把整个项目打包成一个可执行的 jar .同时也导致 jar 越来越庞大. 对于现在高速迭代项目.上传如此庞大的 jar 对来发人员来说是一件极其痛苦的事情. 本章介绍如何将项目中变化的不大的 jar 提取到外部. 具体步骤: 1: 通常我们是用spring-boot-maven-plugin 进行

Spring Boot(2):通过jar包启动

我们通过创建一个可以在Production env中运行的完全自包含的可执行jar文件来完成我们的示例.可执行jar(有时也称为"fat jars")是包含您编译的类以及您的代码需要运行的所有jar依赖项的归档文件. 本例是在 Spring Boot(1):Guide 的基础上继续写的. (1) 在Maven中添加以下依赖: 1 <!-- 可以打成可运行的jar包 --> 2 <build> 3 <plugins> 4 <plugin>

Spring Boot 部署浅析(jar or war)

对于传统的 ssm 或者 ssh 项目的部署,一般会打包成war包,或者是一个编译好的文件夹,再放到 tomcat 的 webapps 目录下,如果是 war 包,会自动解压出来.而 Spring Boot 默认会内嵌一个 Tomcat,因此即便是 web 项目也可以直接打包成 jar 包,直接 java -jar 运行就可以了. 用 Spring Initialzr 创建的 web 项目(选择打包成 jar),只会有一个 spring-boot-starter-web 依赖. <depende