pom文件配置
<build>
<!-- 打包后的名字 -->
<finalName>test</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<!-- 打包入口文件 -->
<mainClass>com.example.TestDemoApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!-- https://gitee.com/roseboy/classfinal -->
<groupId>net.roseboy</groupId>
<artifactId>classfinal-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<!-- 加密密码,如果是#号,则使用无密码模式加密 -->
<password>#</password>
<!-- 加密的包名(可为空,多个用","分割) -->
<packages>com.example.test_demo</packages>
<!-- 排除的类名(可为空,多个用","分割) -->
<excludes>org.spring</excludes>
<!-- 外部依赖的jar目录,例如/tomcat/lib(可为空,多个用","分割) -->
<!-- 需要加密的配置文件,一般是classes目录下的yml或properties文件(可为空,多个用","分割) -->
<cfgfiles>application.yml</cfgfiles>
<!-- 机器码,在绑定的机器生成,加密后只可在此机器上运行 -->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>classFinal</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
下载工具并修改名字跟jar包名一样
在同目录下配置xml文件
<service>
<id>test</id>
<name>test</name>
<description>This service runs myapp project.</description>
<executable>java</executable>
<arguments>
-server
-Xms400m
-Xmx400m
-Xmn100m
-XX:MetaspaceSize=128m
-XX:MaxMetaspaceSize=128m
-Xverify:none
-XX:+DisableExplicitGC
-Djava.awt.headless=true
-javaagent:"E:\test\hello.jar"
-jar "E:\test\hello.jar"</arguments>
<logmode>rotate</logmode>
</service>
修改id、name‘’description三个参数的值,id,服务名字,简介
-Xms400m 初始堆大小
-Xmx400m 最大堆大小
-Xmn100m 年轻代大小
-XX:MetaspaceSize=128m 初始元数据空间大小
-XX:MaxMetaspaceSize=128m 最大元数据空间大小
-Xverify:none 禁用验证器
-XX:+DisableExplicitGC 禁止代码中显示调用GC
-Djava.awt.headless=true 是J2SE的一种模式,用于在缺失显示屏、鼠标或者键盘时的系统配置。对于后端服务来讲,很多都是需要将这个属性设置为true的。
详细说明
下载地址:https://github.com/winsw/winsw
当前版本;2.9.0
1、准备文件 HelloWorld.jar
2、将WinSW.NET4.exe文件复制到java程序所在文件夹中
3、将WinSW.exe重命名为HelloWorld.exe(和jar同名)
4、新建一个xml文件,命名为HelloWorld.xml,
5、命令行定位到当前目录,执行: HelloWorld.exe install
install 将服务安装到Windows Service Controller。该命令需要安装指南中介绍的一些初步步骤。
uninstall 卸载服务。上面相反的操作。
start 启动服务。该服务必须已经安装。
stop 停止服务。
stopwait 停止服务并等待,直到它实际上停止为止。
restart 重新启动服务。如果该服务当前未运行,则此命令的作用类似于start。
status 检查服务的当前状态。此命令将一行打印到控制台。
NonExistent 表示该服务当前未安装
Started 指示服务当前正在运行
Stopped 表示该服务已安装但当前未运行。
大多数命令需要管理员权限才能执行