博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot结合maven打包发布
阅读量:6426 次
发布时间:2019-06-23

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

本篇分享如何使用maven便利我们打springboot的发布包;我这里使用的是idea开发工具,首先创建了多个module的项目结构,如图:

要对多个module的项目做打包,一般情况都是在父级pom中配置打包的插件,其他module的pom不需要特别的配置,当配置完成后,点击idea中maven工具的package,就能执行一系列打包操作;

这里先使用maven-jar-plugin插件,在父级pom中添加配置如下:

1 
2
3
org.apache.maven.plugins
4
maven-jar-plugin
5
2.4
6
7
8
9
true
10
lib/
11
12
com.platform.WebApplication
13
14
15
16
17
18
19
20
21

上面的配置我们需要注意以下几个节点:

  • mainClass:我们需要指定main入口,当然这不是必须的,如果同一个project中有多个main入口,那打包的时候才需要,仅仅就一个main入口这个其实忽略;
  • classpathPrefix:指定加入classpath中依赖包所在的前缀文件夹名
  • addClasspath:依赖包放加入到classpath中,默认true
  • includes:需要包含在jar中的文件,一般不配置(注意:如果配置路径不合适,可能会吧class排除掉)
  • excludes:如果是要做jar包外部配置文件的话,这里需要用excludes排除这些配置文件一起打包在jar中

使用maven-jar-plugin插件针对项目工程来打包,这个时候通过maven的package命令打包,能看到jar中有一个lib文件夹(默认),其中包含了工程项目中所引入的第三方依赖包,通过java -jar xxx.jar能看到jar成功启动:

在规范的项目中,一般有dev,test,uat,pro等环境,针对这些个环境需要有不同的配置,springboot中可以通过application-dev|test|...yml来区分不同的配置,仅仅需要在默认的application.yml中加入spring.profiles.active=dev|test...就行了;

这种方式有个不便的地方,比如本地调试或发布上线都需要来回修改active的值(当然通过jar启动时,设置命令行active参数也可以),不是很方便;下面采用在pom中配置profiles,然后通过在idea界面上鼠标点击选择启动所用的配置;首先,在main层创建配置文件目录如下结构:

为了区分测试,这里对不同环境配置文件设置了server.port来指定不同端口(dev:3082,pro:3182)

然后,在父级pom中配置如下profiles信息:

1     
2
3
dev
4
5
6
true
7
8
9
dev
10
11
12
13
test
14
15
test
16
17
18
19
uat
20
21
uat
22
23
24
25
pro
26
27
pro
28
29
30

节点说明:

  • activeByDefault:设置为默认运行配置
  • activeProfile:所选择的启动配置,它的值对应上面创建profiles下面的dev|test|pro文件夹

然后,在pom中的build增加resources节点配置:

1 
2
3
4
src/main/profiles/${activeProfile}
5
6

此刻我们的配置就完成了,正常情况下idea上maven模块能看到这样的图面:

这个时候仅仅只需要我们勾选这些个按钮就行了,不管是调试还是最后打包,都按照这个来获取所需的配置文件。

转载地址:http://rxyga.baihongyu.com/

你可能感兴趣的文章
实验04 vim编辑器和正则表达式
查看>>
代码审查
查看>>
sharepoint adfs Adding Claims to an Existing Token Issuer in SharePoint 2010
查看>>
批处理增加和删除用户
查看>>
jquery时间控件整理
查看>>
“好”的接口是怎么样的?
查看>>
[C#学习] popupControlContainer控件
查看>>
关于网站子目录绑定二级域名的方法(php网站手机端)
查看>>
GSON处理JSON
查看>>
csvn使用入门
查看>>
同一用户的不同页面共享数据的方法
查看>>
solr多条件查询(一)
查看>>
HDU4609:3-idiots(FFT)
查看>>
PHP中双冒号::的用法
查看>>
GNU Autoconf: Intro
查看>>
高校应该使用 Drupal 的10大理由
查看>>
视图必须派生自 WebViewPage 或 WebViewPage<TModel>
查看>>
js模块化历程
查看>>
CGDC“高效程序员”听课笔记
查看>>
南阳975--关于521(打表)
查看>>