当前位置:   article > 正文

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

classfinal

pom文件配置

  1. <build>
  2. <!-- 打包后的名字 -->
  3. <finalName>test</finalName>
  4. <plugins>
  5. <plugin>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-maven-plugin</artifactId>
  8. <version>1.4.2.RELEASE</version>
  9. <configuration>
  10. <!-- 打包入口文件 -->
  11. <mainClass>com.example.TestDemoApplication</mainClass>
  12. </configuration>
  13. <executions>
  14. <execution>
  15. <goals>
  16. <goal>repackage</goal>
  17. </goals>
  18. </execution>
  19. </executions>
  20. </plugin>
  21. <plugin>
  22. <!-- https://gitee.com/roseboy/classfinal -->
  23. <groupId>net.roseboy</groupId>
  24. <artifactId>classfinal-maven-plugin</artifactId>
  25. <version>1.2.1</version>
  26. <configuration>
  27. <!-- 加密密码,如果是#号,则使用无密码模式加密 -->
  28. <password>#</password>
  29. <!-- 加密的包名(可为空,多个用","分割) -->
  30. <packages>com.example.test_demo</packages>
  31. <!-- 排除的类名(可为空,多个用","分割) -->
  32. <excludes>org.spring</excludes>
  33. <!-- 外部依赖的jar目录,例如/tomcat/lib(可为空,多个用","分割) -->
  34. <!-- 需要加密的配置文件,一般是classes目录下的yml或properties文件(可为空,多个用","分割) -->
  35. <cfgfiles>application.yml</cfgfiles>
  36. <!-- 机器码,在绑定的机器生成,加密后只可在此机器上运行 -->
  37. </configuration>
  38. <executions>
  39. <execution>
  40. <phase>package</phase>
  41. <goals>
  42. <goal>classFinal</goal>
  43. </goals>
  44. </execution>
  45. </executions>
  46. </plugin>
  47. </plugins>
  48. </build>

下载工具并修改名字跟jar包名一样

在同目录下配置xml文件

  1. <service>
  2. <id>test</id>
  3. <name>test</name>
  4. <description>This service runs myapp project.</description>
  5. <executable>java</executable>
  6. <arguments>
  7. -server
  8. -Xms400m
  9. -Xmx400m
  10. -Xmn100m
  11. -XX:MetaspaceSize=128m
  12. -XX:MaxMetaspaceSize=128m
  13. -Xverify:none
  14. -XX:+DisableExplicitGC
  15. -Djava.awt.headless=true
  16. -javaagent:"E:\test\hello.jar"
  17. -jar "E:\test\hello.jar"</arguments>
  18. <logmode>rotate</logmode>
  19. </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    表示该服务已安装但当前未运行。
    大多数命令需要管理员权限才能执行

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

闽ICP备14008679号