Assemby 打包并启动jar包

154 阅读1分钟

期望效果

通过mvn package进行打包的时候生成jar包启动脚本 直接对生成的jar包启动

引入maven插件

   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <!--主要使用的是maven提供的assembly插件完成-->
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
     <descriptors>
      <!--具体的配置文件-->
      <descriptor>src/main/assembly/assembly.xml</descriptor>
     </descriptors>
    </configuration>
    <executions>
     <execution>
      <id>make-assembly</id>
      <!--绑定到maven操作类型上-->
      <phase>package</phase>
      <!--运行一次-->
      <goals>
       <goal>single</goal>
      </goals>
     </execution>
    </executions>
   </plugin>

在项目目录下创建如下文件

具体的文件内容详见

https://gitee.com/pingfanrenbiji/resource/tree/master/assembly

通过maven打包

在target目录下 会生成一个 压缩包

圈红部分是assembly启动脚本

lib目录下 是生成的jar包

config目录是项目中的配置文件resouces目录下所有的配置

启动脚本启动jar包

注:该启动脚本会读取config下面的application.yml配置文件

需要优化的地方

该启动脚本只能读取 application.yml 配置文件

所以对于多环境配置的情况不能够使用

启动脚本中读取application.yml代码
启动脚本中读取application.yml代码

这里优化的思路(等有时间了再完善)

  • 从外部传给该启动脚本一个 profile 环境变量

  • 通过环境变量找到对应的配置文件

  • 然后把该配置文件复制成application.yml文件

本文使用 mdnice 排版