spring boot 学习笔记(二)之打包

 一、叙述

    spring boot 在 pom 中可以配置成  packaging 为 jar ,这样打包出来的就是一个 jar 包,可以通过 Java 命令直接运行, Java 命令为: java -jar xxx.jar。打开 jar 的目录,你会看到目录如下:

   但是有时根据项目的要求,希望lib拿出来,提供一个bat直接运行我们的jar包,此时图中示例和达到我们想达到的效果可参考第二章节内容。

二、打包方式

 (1) 一个 jar ( lib 在 jar 中)

pom.xml 配置如下:

         <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                   <!--fork : 如果没有该项配置,devtools不会起作用,即应用不会restart -->
                    <fork>true</fork>   表示服务启动之后,修改代码立即生效,不需要再重启服务
                </configuration>
            </plugin>

 这个打出来的效果和第一章节中的目录结构一致。

(2) lib不在jar里面

pom.xml 配置如下:

    <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                   <!--fork : 如果没有该项配置,devtools不会起作用,即应用不会restart -->
                    <fork>true</fork>
                      <mainClass>com.wf.system.TradingSystemApplication</mainClass>       这个必须指定
                     <layout>ZIP</layout> 
                <!-- 不带第三方jar包 -->
                <includes> 
                    <include>
                        <groupId>nothing</groupId>
                        <artifactId>nothing</artifactId>
                    </include>  
                </includes> 
                </configuration>
            <executions>
            <execution>
                 <goals>
                     <goal>repackage</goal>
                 </goals>
             </execution>
           </executions>
            </plugin>

 执行maven 命令 mvn clean package ,生成的 jar 包,打开看,目录结构如下:

要运行的话,需要先通过(1) 方式,将 lib 包拷贝出来,然后通过(2) 获得 jar 包,将 lib 和该 jar 包放在同一文件夹内,执行如下命令:

java -Dloader.path=lib -jar 1.jar   (当然前提是进入lib 和 jar 包所在父文件夹,在文件输入框中输入 cmd,启动 cmd 命令,其实目的就是定位到 jar 所在父目录)

原文地址:https://www.cnblogs.com/sandyflower/p/10727000.html