springboot 使用 ClassFinal加密在Windows下配置jar包

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    表示该服务已安装但当前未运行。
    大多数命令需要管理员权限才能执行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值