Maison  >  Questions et réponses  >  le corps du texte

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

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

PHP中文网PHP中文网2741 Il y a quelques jours338

répondre à tous(2)je répondrai

  • 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动态实时类装入特性

    répondre
    0
  • 高洛峰

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

    tomcat 用的是 WebappClassLoader 加载 app的,不过没看到 server.xml 开放了这个接口。如果要替换,需要修改 tomcat 源码。

    还有一个更好的解决方案,用 java agent 来动态替换 class,这样就可以做到对class的加解密。

    répondre
    0
  • Annulerrépondre