当前位置:   article > 正文

windows使用命令(脚本)启动+停止jar包_jar包运行完毕后退出

jar包运行完毕后退出

 因公司技术部的副主管询问,项目有没有自动生成一套增删改查的代码。于是,我决定使用velocity进行模板生成,然后是一个小项目,放到当前开发的项目里面又不好(因为是可以连接任何远程数据库,然后生成代码的)。因此,就打算放到服务器上,然后有个测试库,是windows的,至此,就有了下方的脚本!!!

velocity模板引擎,请移步:https://blog.csdn.net/boonya/article/details/55003487

一:新建start.bat,右键记事本编辑,把下方脚本填入

  1. @echo off
  2. start java -Xms512m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -jar demo-codegen.jar --server.port=90
  3. exit

二:参数讲解

demo-codegen.jar:我的jar包名字,请看目录结构,不在同级目录,请填绝对路径

windows——>   E://xxx/yyy

Linux ——> /home/project/xxx

 

--server.port=90:指定端口为90,可以不填的,现在使用springboot项目,都会配置端口。优先此端口,如果这里不配置,则端口为项目指定的。

 

-Xms512m:堆最小内存,jar启动之后就会分配给JVM里面的heap大小 

-Xmx512m:堆最大内存。x,肯定就是max,也就是最大咯

设置一样,是为了不去频繁切换,给房子加楼层,是需要耗时间的!

堆扩容:当最小堆t填满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象,那么就会扩展堆。

给对象分配内存的时候,如果达到了最大堆的内存,还是不够。就会导致OutOfMemoryError(OOM)

Metaspace:元空间,java8开始,移除原先jdk的永久代,新增元空间。有兴趣的朋友可以去了解一下。还有常量池的一个变化等。

jdk1.7及以前,配置永久代

-XX:PermSize=20.75m

-XX:MaxPermSize=82m(32位系统默认64m)

-XX:MetaspaceSize=128m     ## 一样的,元空间初始大小,达到这个界限,直接FullGC,这是很不好的,因为速度慢(新生代、老年代、元数据区/永久代的废弃对象,通通回收),严重影响项目性能。所以代码得写好,得合理利用时间和空间(根据实际情况,追求时间,还是节省空间!)

-XX:MaxMetaspaceSize=256m    ## 元空间最大大小

如果不指定元空间的最大大小,默认情况下,元空间最大的大小是系统内存的大小,元空间一直扩大,虚拟机可能会消耗完所有的可用系统内存。

 

扯皮了那么多杂七杂八的,来说说重点,开头的start java

这个命令的意思是使用Javaw.exe执行我们的jar,这样就可以在系统进程里面运行了(如果有人说,我的命令一样,怎么一闪而过,项目访问不了。那么恭喜你,你没有配置环境变量,没有配置,那么这个java就无效!!!)

 

那么就有意思了,配置环境变量吧?

windows10环境变量配置:https://www.cnblogs.com/cnwutianhao/p/5487758.html

其实dark不必,直接去Java的安装目录,默认是C:\Program Files\java,进入jdk/bin目录,把javaw.exe给copy出来,然后随便改个名字,比如我改的就是gen,看截图

 

三:配置好了启动吧,jar会在后台运行,在进程中显示。

 

四:停止项目。

  1. 任务管理器,右键找到进程,直接把进程结束
  2. 使用cmd命令过滤出对应进程,再Kill掉

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/76284
推荐阅读
相关标签
  

闽ICP备14008679号