`
234390216
  • 浏览: 10194326 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:460839
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1771893
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1395510
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:393922
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:678261
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:529327
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1178789
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:462038
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:150173
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:66899
社区版块
存档分类
最新评论

Spring Boot(02)——Maven插件

阅读更多

Spring Boot Maven插件

Spring Boot提供了一个Maven插件,在指定了spring-boot-starter-parent为项目的parent后,在项目中可以进行如下定义来配置Spring Boot的Maven插件。该plugin主要提供了两个goal,run和repackage,run用来运行当前Spring Boot工程,repackage则用来将项目重新打包。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

run

需要通过Maven插件启动spring boot项目时,可以运行如下命令。

mvn spring-boot:run

在运行的过程中也可以加入一些控制参数,比如下面的代码就通过jvmArguments参数指定了运行JVM的堆内存的最大值是512M。关于更多可以配置的参数可以参考https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/maven-plugin/run-mojo.html

 mvn spring-boot:run -Dspring-boot.run.jvmArguments=-Xmx512m

repackage

需要使用repackage进行重新打包时需要在定义plugin时进行如下定义。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

然后只需要运行正常的mvn package打包指令就可以触发插件的repackage指令进行重新打包。Spring Boot插件的repackage指令会将项目中相关的jar包都打到一个jar包里面,即jar包里面又包含jar包。打包后的jar包的主运行程序类将是Spring Boot提供的org.springframework.boot.loader.JarLauncher。然后可以使用java -jar your_java_file.jar运行打包好的jar包了。比如打包好的jar包的名称是app.jar,则可以使用下面的指令运行该jar包。

java -jar app.jar

假设在打包的时候有一个jar包是不需要包含的,可以通过execlude指定需要排除的包,如下则指定了需要排除org.projectlombok::lombok包。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <excludes>
            <exclude>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </exclude>
        </excludes>
    </configuration>
</plugin>

如果是需要排除某一个groupId对应的所有的jar包,则可以使用excludeGroupIds进行指定。如下代码则指定了打包时将排除所有的groupId为org.springframework的包。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <excludeGroupIds>org.springframework</excludeGroupIds>
    </configuration>
</plugin>

关于repackage指令可以指定的完整参数,请参考https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/maven-plugin/repackage-mojo.html

参考文档

https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/maven-plugin/index.html

(注:本文是基于Spring Boot 2.0.3所写)

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics