博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot pom.xml记
阅读量:6759 次
发布时间:2019-06-26

本文共 15529 字,大约阅读时间需要 51 分钟。

本文包括:

1. springboot 基本pom.xml配置

4.0.0
wqz.zoom
springbootdemo
0.0.1-SNAPSHOT
org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE
UTF-8
UTF-8
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
org.springframework.boot
spring-boot-maven-plugin
true

需要不同的开发方向,按照下方jar包介绍,添加依赖即可 

springboot 依赖包详解:

转自 

4.0.0
com.zlc
demo
0.0.1-SNAPSHOT
jar
demo
demoprojectforSpringBoot
org.springframework.boot
spring-boot-starter-parent
1.5.3.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-amqp
org.springframework.boot
spring-boot-starter-aop
org.springframework.boot
spring-boot-starter-batch
org.springframework.boot
spring-boot-starter-data-mongodb
org.springframework.boot
spring-boot-starter-data-rest
org.springframework.boot
spring-boot-starter-data-solr
org.springframework.boot
spring-boot-starter-freemarker
org.springframework.boot
spring-boot-starter-hateoas
org.springframework.boot
spring-boot-starter-integration
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-jersey
org.springframework.boot
spring-boot-starter-jta-atomikos
org.springframework.boot
spring-boot-starter-jta-bitronix
org.springframework.boot
spring-boot-starter-mail
org.springframework.boot
spring-boot-starter-mobile
org.springframework.boot
spring-boot-starter-security
org.springframework.boot
spring-boot-starter-social-facebook
org.springframework.boot
spring-boot-starter-social-twitter
org.springframework.boot
spring-boot-starter-test
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-websocket
org.springframework.boot
spring-boot-starter-jetty
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-tomcat
org.springframework.boot
spring-boot-starter-undertow
org.springframework.boot
spring-boot-starter-data-gemfire
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-maven-plugin
true
1.8
1.8
原文:https://blog.csdn.net/chen15369337607/article/details/78445773
springboot pom.xml

maven配置详解:

转自 

配置详解

2.

 spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。

devtools的原理

深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

使用需要添加以下的配置:

org.springframework.boot
spring-boot-devtools
true
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
true
 

说明:

(1) devtools可以实现页面热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现),

实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署。
即devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启是很快的
(2)配置了true后在修改java文件后也就支持了热启动,不过这种方式是属于项目重启(速度比较快的项目重启),会清空session中的值,也就是如果有用户登陆的话,项目重启后需要重新登陆。

默认情况下,/META-INF/maven,/META-INF/resources,/resources,/static,/templates,/public这些文件夹下的文件修改不会使应用重启,但是会重新加载(devtools内嵌了一个LiveReload server,当资源发生改变时,浏览器刷新)。

devtools的配置

在application.properties中配置spring.devtools.restart.enabled=false,此时restart类加载器还会初始化,但不会监视文件更新。

在SprintApplication.run之前调用System.setProperty(“spring.devtools.restart.enabled”, “false”);可以完全关闭重启支持,配置内容:

#热部署生效spring.devtools.restart.enabled: true#设置重启的目录#spring.devtools.restart.additional-paths: src/main/java#classpath目录下的WEB-INF文件夹内容修改不重启spring.devtools.restart.exclude: WEB-INF/**

IDEA配置

当我们修改了Java类后,IDEA默认是不自动编译的,而spring-boot-devtools又是监测classpath下的文件发生变化才会重启应用,所以需要设置IDEA的自动编译:

(1)File-Settings-Compiler-Build Project automatically

(2)ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running

测试

  • 修改类–>保存:应用会重启
  • 修改配置文件–>保存:应用会重启
  • 修改页面–>保存:应用不会重启,但会重新加载,页面会刷新(原理是将spring.thymeleaf.cache设为false,参考:Spring Boot配置模板引擎)
 

 3. 打包插件

 springboot 打包插件基本配置

org.springframework.boot
spring-boot-maven-plugin
true

  

 <build/>标签解析:

 
1.分类

       (1)全局配置(project build)

                 针对整个项目的所有情况都有效

       (2)配置(profile build)

                 针对不同的profile配置

 2.配置说明

       (1)基本元素

install
${basedir}/target
${artifactId}-${version}
filters/filter1.properties
...

               1)defaultGoal

                    执行build任务时,如果没有指定目标,将使用的默认值。

                    如上配置:在命令行中执行mvn,则相当于执行mvn install

              2)directory

                     build目标文件的存放目录,默认在${basedir}/target目录

              3)finalName

                     build目标文件的名称,默认情况为${artifactId}-${version}

              4)filter

                     定义*.properties文件,包含一个properties列表,该列表会应用到支持filter的resources中。

                     也就是说,定义在filter的文件中的name=value键值对,会在build时代替${name}值应用到resources中。

                     maven的默认filter文件夹为${basedir}/src/main/filters

         (2)Resources配置

                 用于包含或者排除某些资源文件

 
...
META-INF/plexus
false
${basedir}/src/main/plexus
configuration.xml
**/*.properties
...
...

               1)resources

                    一个resources元素的列表。每一个都描述与项目关联的文件是什么和在哪里

              2)targetPath

                    指定build后的resource存放的文件夹,默认是basedir。

                    通常被打包在jar中的resources的目标路径是META-INF

             3)filtering

                    true/false,表示为这个resource,filter是否激活

             4)directory

                    定义resource文件所在的文件夹,默认为${basedir}/src/main/resources

             5)includes

                    指定哪些文件将被匹配,以*作为通配符

             6)excludes

                   指定哪些文件将被忽略

             7)testResources

                   定义和resource类似,只不过在test时使用

         (3)plugins配置

                  用于指定使用的插件

 
...
org.apache.maven.plugins
maven-jar-plugin
2.0
false
true
test
...
...

                 1)GAV

                      指定插件的标准坐标

                2)extensions

                      是否加载plugin的extensions,默认为false

                3)inherited

                      true/false,这个plugin是否应用到该pom的孩子pom,默认为true

                4)configuration

                      配置该plugin期望得到的properties

                5)dependencies

                      作为plugin的依赖

                6)executions

                      plugin可以有多个目标,每一个目标都可以有一个分开的配置,可以将一个plugin绑定到不同的阶段

                      假如绑定antrun:run目标到verify阶段

 
maven-antrun-plugin
1.1
echodir
run
verify
false
Build Dir: ${project.build.directory}

                            id:标识,用于和其他execution区分。当这个阶段执行时,它将以这个形式展示[plugin:goal execution: id]。在这里为: [antrun:run execution: echodir]

                           goals:目标列表

                          phase:目标执行的阶段

                          inherit:子类pom是否继承

                          configuration:在指定目标下的配置

        (4)pluginManagement配置

                   pluginManagement的配置和plugins的配置是一样的,只是用于继承,使得可以在孩子pom中使用。

                   父pom:

...
org.apache.maven.plugins
maven-jar-plugin
2.2
pre-process-classes
compile
jar
pre-process
...

                  则在子pom中,我们只需要配置:

 
...
org.apache.maven.plugins
maven-jar-plugin
...

                这样就大大简化了孩子pom的配置

转载于:https://www.cnblogs.com/yelao/p/10654719.html

你可能感兴趣的文章
MapInfo格式转arggis格式
查看>>
Network - SSL/TLS的基本概念
查看>>
python学习之老男孩python全栈第九期_day012知识点总结
查看>>
Shell if else
查看>>
iOS之 block,代替代理作为回调函数
查看>>
Linux信号(signal) 机制分析
查看>>
SublimeText3按ctrl+b执行python无反应
查看>>
linux之各个文件夹作用
查看>>
posix多线程有感--线程高级编程(条件变量属性)
查看>>
linux内核mem_cgroup浅析
查看>>
Java 反射实例
查看>>
linux软件安装习惯
查看>>
字符串和ASCII之间的转换
查看>>
python3学习笔记(二):Python初识
查看>>
Servlet 文件上传
查看>>
JQ - 绑定(on)/解绑(off)事件(浅显的见解)
查看>>
JavaScript setInterval(定时/延时调用函数)
查看>>
Quartz.NET 任务调度教程。
查看>>
华为oj之字符串反转
查看>>
数据访问
查看>>