欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot 将第三方依赖和配置文件打包在jar外部并引用

程序员文章站 2024-01-28 11:50:58
...

pom.xml文件中添加

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.6</version>
      <configuration>
        <archive>
          <manifest>
            <mainClass>com.esbk.isp.ISPApplication</mainClass> //指定Springboot程序启动类
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix> //指定依赖的jar包相对于本程序jar的位置
          </manifest>
          <manifestEntries>
            <Class-Path>./</Class-Path>
          </manifestEntries>
        </archive>
        <excludes>
          <exclude>application*.yml</exclude> //指定打包时要排除的文件,支持正则
        </excludes>
      </configuration>
    </plugin>
  </plugins>
</build>

把依赖的jar包–>放到和项目打成的jar包同级的lib文件夹下
把配置文件–>放到和项目打成的jar包同级的文件夹下( 或者统计的config命名的文件夹下 )

如果懒得手动把那么多的依赖拷贝出来的话,可以用maven命令导出:DoutputDirectory指定就行

mvn dependency:copy-dependencies -DoutputDirectory=C:\Users\esbk\Desktop\lib  -DincludeScope=runtime

最终目录结果
Spring Boot 将第三方依赖和配置文件打包在jar外部并引用
lib中是第三方依赖的jar,config中是配置文件.而且可执行的程序jar正常运行

如果只想排除配置文件或只想配出第三方jar,删除pom中相应的配置即可

参考文章:
http://www.cnblogs.com/xiaoqi/p/6955288.html
http://blog.csdn.net/liangwenmail/article/details/72528496
感谢以上作者的分享