SpringBoot使用classfinal-maven-plugin插件加密Jar包的示例代碼
jar包加密
1、在啟動(dòng)類的pom.xml中加入classfinal-maven-plugin插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>net.roseboy</groupId>
<artifactId>classfinal-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<password>#</password> <!--啟動(dòng)密碼,#為空-->
<excludes>org.spring</excludes>
<packages>${groupId}</packages> <!--需要加密的包名,有多個(gè)使用逗號(hào)分隔-->
<cfgfiles>application.yml,spy.properties,ehcache.xml</cfgfiles> <!--需要加密的配置文件,有多個(gè)使用逗號(hào)分隔-->
<libjars>SuperDog.jar</libjars> <!--jar包lib目錄下要加密的jar依賴,有多個(gè)使用逗號(hào)分隔-->
<code></code> <!--機(jī)器碼,指定某個(gè)機(jī)器啟動(dòng)-->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>classFinal</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2、在右側(cè)的maven工具欄中使用install,xxx-encrypted.jar是加密后的jar包

3、加密后的jar包不能直接運(yùn)行,要設(shè)置javaagent來(lái)啟動(dòng),啟動(dòng)過(guò)程中會(huì)解密
//無(wú)密碼啟動(dòng) java -javaagent:APF_AssetServer-encrypted.jar -jar APF_AssetServer-encrypted.jar //有密碼啟動(dòng) java -javaagent:APF_AssetServer-encrypted.jar='-pwd=密碼' -jar APF_AssetServer-encrypted.jar //增加其他參數(shù)啟動(dòng) java -javaagent:APF_AssetServer-encrypted.jar -jar -Xmx512m -Xms512m APF_AssetServer-encrypted.jar --spring.profiles.active=APF_AssetServer-encrypted
反編譯效果
class文件只能看到方法名、參數(shù)和注解,方法內(nèi)容被清空
配置文件變成空白


綁定機(jī)器啟動(dòng)
1、下載 classfinal-fatjar-1.2.1.jar
2、執(zhí)行 java -jar classfinal-fatjar-1.2.1.jar -C
3、將生成的機(jī)器碼,放到maven插件的code里

到此這篇關(guān)于SpringBoot使用classfinal-maven-plugin插件加密Jar包的示例代碼的文章就介紹到這了,更多相關(guān)SpringBoot classfinal-maven-plugin加密Jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot3+Redis實(shí)現(xiàn)消息隊(duì)列的多種方法小結(jié)
本文主要介紹了Springboot3+Redis實(shí)現(xiàn)消息隊(duì)列的多種方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
Java實(shí)現(xiàn)向數(shù)組里添加元素
這篇文章主要介紹了Java實(shí)現(xiàn)向數(shù)組里添加元素方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Spring多數(shù)據(jù)源切換失敗,發(fā)現(xiàn)與事務(wù)相關(guān)問(wèn)題
這篇文章主要介紹了Spring多數(shù)據(jù)源切換失敗,發(fā)現(xiàn)與事務(wù)相關(guān)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
mybatis Map查詢結(jié)果下劃線轉(zhuǎn)駝峰的實(shí)例

