Spring Boot (14) pom.xml设置

继承spring-boot-parent

  要成为一个spring boot项目,首先就必须在pom.xml中继承spring-boot-starter-parent,同时制定其版本

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

环境参数

  在普通的maven项目中,需要在pom.xml中配置插件来修改jdk版本,utf-8编码等环境参数,在spring boot中则更加简单。

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

依赖

  spring-boot-starter-parent的源码中又继承了spring-boot-dependencies,spring-boot-dependecies源码又包括以下内容

<properties>
        <activemq.version>5.14.5</activemq.version>
        <antlr2.version>2.7.7</antlr2.version>
        <appengine-sdk.version>1.9.53</appengine-sdk.version>
        <!-- 以下省略.... -->
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot</artifactId>
                <version>1.5.4.RELEASE</version>
            </dependency>
            <!-- 以下省略.... -->
        </dependencies>
    </dependencyManagement>

<properties>中的内容是用来配置spring boot自动引入的各个jar包的版本,如果想用别的版本替换里面的样本,和修改jdk一样,只需要在我们自定义的项目中pom.xml覆盖相关参数。

<dependencyManagement>中的内容,就是为什么我们自己项目中配置spring boot组件依赖时,可以不用配置版本,比如:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

生成可执行jar文件

  默认情况下,maven打包生成的jar文件是用来给其他项目依赖用的,是无法直接运行的。spring boot根据自生需要,提供了一个插件来生成可执行jar文件,在spring-boot-starter-parent源码中可以找到,如下:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <mainClass>${start-class}</mainClass>
    </configuration>
</plugin>  

我们只需要在我们自己的pom.xml中声明这个插件,就会生效

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

执行 mvn package打包命令后,target目录会生成*.jar和*.jar.original

.jar.original文件仅仅只有源代码,就是maven原版打包的内容。

jar文件是内置了tomcat和spring boot环境,可以直接运行的。在控制台输入 java -jar springbootTest-0.0.1-SNAPSHOT.jar

指定启动类

  在上面的插件源码中还有一个${start-class},当我们项目中有多个main启动类时,在pom.xml中覆盖这一参数,可以指定从哪个类中启动,配置方法一样

    <properties>
        <java.version>1.8</java.version>
        <start-class>com.xxx.启动类</start-class>
    </properties>

原文地址:https://www.cnblogs.com/baidawei/p/9110992.html

时间: 2024-07-29 04:39:52

Spring Boot (14) pom.xml设置的相关文章

spring boot maven pom.xml设置

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 htt

spring maven pom.xml设置

spring pom.xml设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="ht

spring boot中使用xml请求

spring boot 中使用xml请求 先在pom文件中引入依赖包 <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.9.0</version></dependency> 编写请求实体 package com.sc

Spring boot 配置 mybatis xml和动态SQL

1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM

spring mvc 和spring security配置 web.xml设置

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://xmlns.jcp.o

spring boot 与 thymeleaf (3): 设置属性、条件、遍历、局部变量、优先级、内联语法

前面记录了 thymeleaf 基本表达式, 这里继续看一下其他功能. 一. 设置属性值 这里的controller, html框架 还是沿用上一篇的部分. html: <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">设置属性值</h3> </div> <di

Spring boot 配置 log4j2.xml

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> <version>RELEASE</version> </dependency> <!-- 解析yml--> <dependency> <groupId>com

pom.xml设置maven的编码方式

<build> <defaultGoal>compile</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configu

Spring Boot应用监控的实战教程

概述 Spring Boot 监控核心是 spring-boot-starter-actuator 依赖,增加依赖后, Spring Boot 会默认配置一些通用的监控,比如 jvm 监控.类加载.健康监控等. 我们之前讲过Docker容器的可视化监控,即监控容器的运行情况,包括 CPU使用率.内存占用.网络状况以及磁盘空间等等一系列信息.同样利用SpringBoot作为微服务单元的实例化技术选型时,我们不可避免的要面对的一个问题就是如何实时监控应用的运行状况数据,比如:健康度.运行指标.日志信