继承spring-boot-starter-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中则更加简单。

在eclipse中按ctrl+左键点击上面的spring-boot-starter-parent,查看其源码,其中有下面这段内容

	<properties>
<java.version>1.6</java.version>
<resource.delimiter>@</resource.delimiter> <!-- delimiter that doesn't clash with Spring ${} placeholders -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>

从上面可以看出,spring boot项目默认的jdk版本是1.6,默认的编码是utf-8。如果我们要修改这些环境参数,比如将jdk版本改成1.8,只需要在我们项目的pom.xml文件中覆盖要修改的参数,如下

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

依赖

spring-boot-starter-parent的源码中又继承了spring-boot-dependencies,spring-boot-dependencies源码又包括以下内容
	<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>

如果不理解的话,可以参考我写的maven主题中的一篇文章 maven(十)-继承,这是理解spring
boot项目之前必须要理解的概念

生成可执行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 module-1.0.jar

指定启动类

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

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

spring boot(14)-pom.xml配置的更多相关文章

  1. spring boot的pom.xml配置,正确生成jar包

    spring boot生成的jar包提示没有主清单属性. 需要在pom里加入配置. <?xml version="1.0" encoding="UTF-8" ...

  2. Spring Boot (15) pom.xml设置

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

  3. struts2 mybatis spring hibernate 框架 pom.xml配置 下载地址

    访问以下地址:搜索需要框架的配置  选择需要的版本 http://mvnrepository.com

  4. spring之pom.xml配置

    spring之pom.xml配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  5. Spring Boot 支持多种外部配置方式

    Spring Boot 支持多种外部配置方式 http://blog.csdn.net/isea533/article/details/50281151 这些方式优先级如下: 命令行参数 来自java ...

  6. 学记:为spring boot写一个自动配置

    spring boot遵循"约定优于配置"的原则,使用annotation对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来.spring boot的神奇 ...

  7. 【报错】spring整合activeMQ,pom.xml文件缺架包,启动报错:Caused by: java.lang.ClassNotFoundException: org.apache.xbean.spring.context.v2.XBeanNamespaceHandler

    spring版本:4.3.13 ActiveMq版本:5.15 ======================================================== spring整合act ...

  8. 4、Spring Boot 2.x 自动配置原理

    1.4 Spring Boot 自动配置原理 简介 spring boot自动配置功能可以根据不同情况来决定spring配置应该用哪个,不应该用哪个,举个例子: Spring的JdbcTemplate ...

  9. SpringBooot-基础<2>-POM.xml配置

    SpringBooot-基础<2>-POM.xml配置 项目创建完成后,需要配置pom.xml文件. pom.xml里面的配置,按需进行添加,这里提供一份参考,后面做笔记会都用到. < ...

随机推荐

  1. VMware里Ubuntukylin-14.04-desktop的VMware Tools安装图文详解

    不多说,直接上干货! 总的来说,根据分为三个步骤. 步骤一: 点击 :虚拟机—–>安装VM tools 然后发现桌面会跳出如下问题: 客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 ...

  2. Root-NFS: Unable to get mountd port number from server, using default

    问题描述: 以前下载到开发板linux内核启动好好地,今天突然启动不了了,到达Root-NFS: Unable to get mountd port number from server, using ...

  3. mongodb与关系型数据库优缺点比较

    1.与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度②文档结构的存储方式,能够更便捷的获取数据③内置GridFS,支持大容量的存储.④内置Sharding.⑤第 ...

  4. Java保存文本文件

    String requestData = "something you want to save"; String saveFilePath = "C:\\Users\\ ...

  5. 美化checkbox多选框

    看到那些UI框架都是有美化checkbox多选框的,不过大多是图片或者是字体图标.于是就利用label仿了个多选框效果. <!DOCTYPE html> <html lang=&qu ...

  6. MicrosoftOfficeProfessionalPlus2013激活方法

    MicrosoftOfficeProfessionalPlus2013已经使用很久(估计快一年了吧),但一直是未激活状态,每次打开都要弹出那个未激活的提示信息,很烦,但不知道自己怎么能够忍受这么久的, ...

  7. 任务四十二:UI组件之日历组件(三)

    任务四十二:UI组件之日历组件(三) 面向人群: 有一定基础的同学 难度: 困难 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及 ...

  8. js jq封装ajax方法

    json文本格式 { "userInfo":[ {name:"admin",password:"123"}, {name:"adm ...

  9. java后台向路径发送请求获得相应参数

    从java后台向一路径发送请求,获得响应的参数,put get post ,还有一个返回URL的工具类,方便代码灵活修改 import java.io.BufferedReader; import j ...

  10. Linux学习4-远程登录管理工具安装

    1.配置虚拟机网络环境 桥接模式:使用真实网卡进行通信,配置简单,可以和通往内的其他真实机直接进行通讯,缺点是它会占用网段的一个IP地址. NAT模式:使用虚拟机模拟的虚拟网卡进行通讯,会使用VMne ...