涓昏鍐呭錛?/strong>
1. 鍓嶈█
鏈枃灝嗕粙緇嶅浣曞 SpringBoot 欏圭洰榪涜 Jar 鍖呭姞瀵嗭紝浠ラ槻姝㈠弽緙栬瘧銆傞€氳繃浣跨敤鍔犲瘑鎶€鏈紝鍙互淇濇姢婧愪唬鐮佺殑
瀹夊叏鎬э紝闃叉鎭舵剰鏀誨嚮鑰呰幏鍙栨晱鎰熶俊鎭拰涓氬姟閫昏緫銆傛湰鏂囧皢璇︾粏浠嬬粛鍔犲瘑鏂規(guī)硶銆佹搷浣滄楠ゅ拰娉ㄦ剰浜嬮」錛屽茍閫?br data-filtered="filtered" />
榪囩ず渚嬩唬鐮佹紨紺哄浣曞疄鐜板姞瀵嗐€?/span>
2. 鍔犲瘑鏂規(guī)硶
1. 浠g爜娣鋒穯
浠g爜娣鋒穯鏄竴縐嶉€氳繃鏀瑰彉婧愪唬鐮佺殑緇撴瀯鍜屽悕縐幫紝浣垮叾闅句互闃呰鍜岀悊瑙g殑榪囩▼銆傚畠鍙互閫氳繃娣鋒穯宸ュ叿錛堝
ProGuard錛夋潵瀹炵幇錛岃繖浜涘伐鍏峰彲浠ュ皢綾匯€佹柟娉曘€佸彉閲忕瓑鍚嶇О鏇挎崲涓洪殢鏈虹敓鎴愮殑鍚嶇О錛屽悓鏃舵敼鍙樹唬鐮佺粨
鏋勶紝浣垮叾闅句互榪樺師涓哄師濮嬩唬鐮併€?br data-filtered="filtered" />
2. 鍔犲瘑瀛楄妭鐮?br data-filtered="filtered" />
鍙︿竴縐嶉槻姝㈠弽緙栬瘧鐨勬柟娉曟槸灝嗗瓧鑺傜爜鍔犲瘑錛屼嬌鍏舵棤娉曡鍙嶇紪璇戝伐鍏風(fēng)洿鎺ヨ繕鍘熶負婧愪唬鐮併€傚彲浠ヤ嬌鐢ㄤ竴浜涘伐
鍏鳳紙濡?JBCO錛夊皢瀛楄妭鐮佸姞瀵嗭紝騫跺湪榪愯鏃跺姩鎬佽В瀵嗐€傝繖縐嶆柟娉曞彲浠ユ湁鏁堝湴淇濇姢婧愪唬鐮佺殑瀹夊叏鎬э紝浣嗛渶
瑕佸湪榪愯鏃惰繘琛岃В瀵嗘搷浣滐紝鍙兘浼氬獎鍝嶇▼搴忕殑鎬ц兘銆?/span>
3. 鎿嶄綔姝ラ
3.1 娣鋒穯浠g爜
瑕佷嬌鐢ㄤ唬鐮佹販娣嗭紝闇€瑕佸畨瑁?ProGuard 絳夋販娣嗗伐鍏楓€傜劧鍚庯紝鍦ㄩ」鐩殑鏋勫緩閰嶇疆鏂囦歡錛堝 Maven 鐨?pom.xml
鎴?Gradle 鐨?build.gradle錛変腑娣誨姞娣鋒穯閰嶇疆銆備互 Maven 涓轟緥錛屽彲浠ュ湪 pom.xml 鏂囦歡涓坊鍔犱互涓嬮厤緗細
<build>
<plugins>
<plugin>
<groupId>com.google.code.proguard</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>6.1.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 鎸囧畾娣鋒穯閰嶇疆鏂囦歡 -->
<proguardConfiguration>proguard.conf</proguardConfiguration>
</configuration>
</plugin>
</plugins>
</build>
鍚屾椂錛岄渶瑕佸垱寤轟竴涓悕涓?proguard.conf 鐨勬販娣嗛厤緗枃浠訛紝鍏朵腑鍖呭惈浜嗘販娣嗚鍒欍€備緥濡傦細
-injars input.jar
-outjars output.jar
-libraryjars /path/to/java/jars/*
-dontshrink // 涓嶅帇緙╁彲鎵ц鏂囦歡鎴栧簱鏂囦歡
-dontoptimize // 涓嶄紭鍖栧瓧鑺傜爜
-dontnote // 蹇界暐鎵€鏈夋敞瑙d俊鎭?br data-filtered="filtered" />
-keep public class com.example.MyClass { *; } // 淇濈暀鐗瑰畾鐨勭被鎴栨柟娉曚笉琚販娣?/span>
瀹屾垚浠ヤ笂閰嶇疆鍚庯紝榪愯 Maven 鍛戒護 mvn package 鍗沖彲瀹屾垚浠g爜娣鋒穯銆傛販娣嗗悗鐨勪唬鐮佸皢琚墦鍖呭湪 output.jar
鏂囦歡涓€?/span>