6.3创建自己执行的二进制文件
这个章节,我们将使用已经存在的应用。我们学习如何修改默认的启动脚本,如,JVM启动参数 -D启动系统配置,JVM内存等。
这个章节要确保我们使用的Spring Boot版本是1.3以上。如果不是的话,请在build.gradle加入以下代码。(注意,我们自己创建的db-counter-starter/build.gradle也要添加)
ext { |
我们需要声明application插件到build.gradle文件中,不再是自动包含Spring Boot Gradle插件。添加的命令是:apply plugin: 'application'
6.3.1如何使用
- 创建默认的可执行文件是非常容易,只要我们执行./gradlew clean bootRepackage命令即可。
- 我们可以通过执行./build/libs/bookpub-0.0.1-SNAPSHOT.jar来启动项目。
- 在生产环境中,我们老百姓稍微调整我们的环境配置,如GC配置、内存配置等。为了达到这个,我们将会修改默认的lauch.script文件。读者可以从:https://github.com/spring-projects/spring-boot.git这个地方的下载,目录是:spring-boot/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/resources/org/springframework/boot/loader/tools/
需要注意的是,lauch.script文件只是用于Linux和OS X的环境下。如果你需要在windows上运行,你需要自己写一个launch.script的文件,且这个文件是可以运行在windows的shell命令中。
- 我们修改launch.scipt文件,添加在大约288行的地方。
... |
- 接着,我们需要在build.gradle中加入如下代码:
applicationDefaultJvmArgs = [ "-Xms128m", "-Xmx256m" ] springBoot { classifier = 'exec' embeddedLaunchScript = file('launch.script') embeddedLaunchScriptProperties = ['jvm_options' : applicationDefaultJvmArgs.join(' ')] } |
- 执行./gradlew clean bootRun 命令,你将会看到JConsole VM Summary,我们也可以看到我们配置的参数信息:
- 我们也可以执行./gradlew clean bootRepackage命令和执行./build/libs/bookpub-0.0.1-SNAPSHOT-exec.jar的包,也可以看到与上面同样的信息。
- 我们也可以使用JAVA_OPTS环境变量来重载JVM的参数。我们可以使用JAVA_OPTS=-Xmx128m./build/libs/bookpub-0.0.1-SHAPSHOT-exec.jar命令和这样可以显示如下信息:
6.3.2使用原理
在我们定制的launch.script文件中,我们添加了jvmopts=”{{jvm_options:}}”,在样在创建和打包时会取代jvm_options的参数。这个是声明是在build.gradle文件中作为embeddedLaunchScriptProperties的参数:embeddedLaunchScriptProperties =
['jvm_options' : applicationDefaultJvmArgs.join(' ')]
JVM参数是硬编码的,它更好的包含如何让我们的应用使用bootRun任务和如何让它执行我们的JAR。为了达到这人目的,我们使用了applicationDefaultJvmArgs参数声明我们运行的目的。
6.3创建自己执行的二进制文件相关推荐
- ASP.NET Web API 过滤器创建、执行过程(二)
ASP.NET Web API 过滤器创建.执行过程(二) 前言 前面一篇中讲解了过滤器执行之前的创建,通过实现IFilterProvider注册到当前的HttpConfiguration里的服务容器 ...
- linux创建进程读共享写复制,Linux下进程的创建、执行和终止
1)进程的创建和执行 许多操作系统提供的都是产生进程的机制,也就是说,首先在新的地址空间里创建进程.读入可执行文件,后再开始执行.Linux中进程的创建很特别,它把上述步骤分解到两个单独的函数中去执行 ...
- linux——Shell脚本说明、创建、执行、调试
一.什么是Shell shell也是操作系统中的一个软件,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口,系统中的命令用shell去解释shell接收系统回应的输出并显示其到屏幕中 ...
- linux 如何创建内核进程,Linux内核的进程创建和执行.pdf
Linux内核的进程创建和执行 !"#$% 内核的进程创建和执行 徐 炜 摘 要 详细阐述了!"#$% 内核34 54 2 的进程创建和执行过程,分析了相应的算法.数据 结构和关键 ...
- linux进程的创建、执行和消亡
在linux系统中,第一个进程是系统固有的,与生俱来的或者说是由内核的设计者安排好了的,内核在引导并完成了基本的初始化以后,就有了系统第一进程(实际上是内核线程).除此之外,所有其他的进程和内核线程都 ...
- sqlserver的存储过程mysql_mysql,sqlserver存储过程的创建及执行
mysql,sqlserver存储过程的创建及执行 sqlserver: 创建不带参数的存储过程: CREATE PROCEDURE 'ProName' AS SELECT * FROM [dbo]. ...
- linux内核-进程三部曲:创建、执行与消亡
就像世上万物都有产生.发展与消亡的过程一样,每个进程也有被创建.执行某段程序以后最后消亡的过程.在linux系统中,第一个进程时系统固有的.与生俱来的或者说是由内核的设计者安排好了的.内核在引导并完成 ...
- neutron创建network执行的那些命令
[转载]neutron创建network执行的那些命令原文地址:http://www.cnblogs.com/popsuper1982/p/3849822.html 当搭建完openstack之后,在 ...
- 任务的创建与执行-4
任务的创建与执行 1. 任务的创建与执行(执行的任务pom文件中必须是配置了docker插件的) (1) 回到首页, 点击新建按钮, 如下图, 输入名称, 选择创建一个Maven项目, 点击ok (2 ...
- springBoot 怎么利用maven 创建可以执行的jar文件?
欢迎关注博主公众号:[纯洁的明依]文章由陈晓阳原创. 本人微信:chenxiaoyangzxy. 免费提供本人大量学习资料. 1 为了可以使用maven 创建可执行的jar文件 ,首先需要再pom.x ...
最新文章
- 2021中国国际消费电子博览会和青岛国际软件融合创新博览会盛大开幕
- sql server中将一个字段根据某个字符拆分成多个字段显示
- VTK:Rendering之InterpolateCamera
- Cortex-M3复位序列
- vsCode配置通过Github同步(Settings Sync)
- php 之将图片转换base64编码(为百度ocr作准备,解决 image format error)
- optimize 回收表空间的一些说明
- java 将ofd转为pdf(代码简单)
- 计算机报名验证码不出现怎么办,电脑显示验证码很慢或验证码显示不出来怎么办...
- 如何正确、高效地进行论文阅读和批判性思考
- 解决Vue3的undefined问题
- 织梦(dedecms)标签大全(非常全面)
- 数据集的文字标签(label)转成数字标签
- STM32 Cube MX 之hal库软件模拟IIC 可直接移植使用
- tplink无线桥接WDS小结
- Spring Cloud Gateway(二):Spring Cloud Gateway整合Eureka应用
- python全栈是什么
- 【立创开源】GL823K 读卡器
- 09 --> OpenWRT 的 linux内核patch方法,添加5G模块驱动
- 玩转GPS开发——持续更新