二十六、SpringBoot的Maven构建

Maven

Maven用户可以从spring-boot-starter-parent项目继承获得合理的默认值。父项目提供以下功能:


  • Java 1.6作为默认编译器级别。
  • UTF-8源代码编码。
  • 一个依赖管理部分,让您省去了公共依赖标签,从继承的 spring-boot-dependenciesPOM。
  • 合理的资源过滤。
  • 合理的插件配置(exec plugin, surefire, Git commit ID, shade)。
  • 合理的资源application.properties和application.yml包括特定配置文件的文件(例如application-foo.properties和application-foo.yml)

最后一点:由于默认配置文件接受Spring样式占位符(${…​}),Maven过滤将更改为使用@..@占位符(可以使用Maven属性覆盖它 resource.delimiter)。
<properties> 
 <spring-data-releasedetrain.version> Fowler-SR2 </spring-data-releasetrain.version> 
</ properties>

##继承starter parent

想配置你的项目继承spring-boot-starter-parent只需要简单地设置parent为

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.3.RELEASE</version>
    </parent>

你应该只需要在该依赖上指定Spring Boot版本。如果导入其他的starters,你可以放心的省略版本号。

通过该设置,您还可以通过覆盖自己的项目中的属性来覆盖单个依赖关系。例如,要升级到另一个Spring Data发行列车,您需要添加以下内容pom.xml

使用没有父POM的Spring Boot

不是每个人都喜欢继承spring-boot-starter-parent POM。你可能需要使用公司标准parent,或你可能倾向于显式声明所有Maven配置。

如果你不使用spring-boot-starter-parent,通过使用一个scope=import的依赖,你仍能获取到依赖管理的好处:

<dependencyManagement>
       <dependencies>
           <dependency>

                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>1.3.0.BUILD-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

改变Java版本

spring-boot-starter-parent选择相当保守的Java兼容策略。如果你遵循我们的建议,使用最新的Java版本,你可以添加一个java.version属性:

<properties>
    <java.version>1.8</java.version>
</properties>

使用Spring Boot Maven插件

Spring Boot包含一个Maven插件,它可以将项目打包成一个可执行jar。如果想使用它,你可以将该插件添加到节点处:

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

如果使用Spring Boot starter parent pom,你只需要添加该插件而无需配置它,除非你想改变定义在partent中的设置。

如果没有使用parent POM,你仍旧可以使用该插件。不过,你需要另外添加一个片段

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>1.3.0.BUILD-SNAPSHOT</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值