要对web项目的class文件进行混淆,请问在哪配置可以让tomcat先使用自定义的类加载器?
认证高级PHP讲师
問題描述的不是很清楚不過類別載入可以簡單給你說下a.Bootstrap ClassLoader/啟動類別載入器主要負責jdk_home/lib目錄下的核心api 或-Xbootclasspath 選項指定的jar包裝入工作. b.Extension ClassLoader/擴充類別載入器主要負責jdk_home/lib/ext目錄下的jar套件或-Djava.ext.dirs 指定目錄下的jar包裝入工作c.System ClassLoader/系統類別載入器主要負責java -classpath/-Djava.class.path所指的目錄下的類別與jar包裝入工作.d.User Custom ClassLoader/使用者自訂類別載入器(java.lang.ClassLoader的子類別)在程式中執行期間, 透過java.lang.ClassLoader的子類別動態載入class檔案, 體現java動態即時類別裝入特性
tomcat 用的是 WebappClassLoader 載入 app的,不過沒看到 server.xml 開放了這個介面。如果要替換,需要修改 tomcat 原始碼。
還有更好的解決方案,用 java agent 來動態取代 class,這樣就可以做到對class的重新解密。
問題描述的不是很清楚
不過類別載入可以簡單給你說下
a.Bootstrap ClassLoader/啟動類別載入器
主要負責jdk_home/lib目錄下的核心api 或-Xbootclasspath 選項指定的jar包裝入工作.
b.Extension ClassLoader/擴充類別載入器
主要負責jdk_home/lib/ext目錄下的jar套件或-Djava.ext.dirs 指定目錄下的jar包裝入工作
c.System ClassLoader/系統類別載入器
主要負責java -classpath/-Djava.class.path所指的目錄下的類別與jar包裝入工作.
d.User Custom ClassLoader/使用者自訂類別載入器(java.lang.ClassLoader的子類別)
在程式中執行期間, 透過java.lang.ClassLoader的子類別動態載入class檔案, 體現java動態即時類別裝入特性
tomcat 用的是 WebappClassLoader 載入 app的,不過沒看到 server.xml 開放了這個介面。如果要替換,需要修改 tomcat 原始碼。
還有更好的解決方案,用 java agent 來動態取代 class,這樣就可以做到對class的重新解密。