搜尋

首頁  >  問答  >  主體

java - 怎么让tomcat使用我自定义的类加载器?

要对web项目的class文件进行混淆,请问在哪配置可以让tomcat先使用自定义的类加载器?

PHP中文网PHP中文网2829 天前362

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-04-17 17:46:59

    問題描述的不是很清楚
    不過類別載入可以簡單給你說下
    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動態即時類別裝入特性

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 17:46:59

    tomcat 用的是 WebappClassLoader 載入 app的,不過沒看到 server.xml 開放了這個介面。如果要替換,需要修改 tomcat 原始碼。

    還有更好的解決方案,用 java agent 來動態取代 class,這樣就可以做到對class的重新解密。

    回覆
    0
  • 取消回覆