>  Q&A  >  본문

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

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

PHP中文网PHP中文网2741일 전342

모든 응답(2)나는 대답할 것이다

  • PHP中文网

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

    문제 설명이 명확하지 않습니다
    하지만 클래스 로딩에 대해 간략하게 설명드릴 수 있습니다
    a.Bootstrap ClassLoader/Startup 클래스 로더
    핵심 api 또는 -Xbootclasspath 옵션을 주로 담당합니다. jdk_home/lib 디렉토리 지정된 jar 패키지를 가져옵니다.
    b.Extension ClassLoader/Extension Class Loader
    는 주로 jdk_home/lib/ext 디렉토리의 jar 패키지 또는 지정된 디렉토리의 jar 패키지를 담당합니다. Djava.ext.dirs
    c.System ClassLoader/system class loader
    는 주로 java -classpath/-Djava.class.path가 가리키는 디렉토리에 클래스와 jar 패키지를 가져오는 역할을 담당합니다.
    d. 사용자 Custom ClassLoader/사용자 정의 클래스 로더 정의(java.lang.ClassLoader의 하위 클래스)
    프로그램 실행 중에 클래스 파일은 java.lang.ClassLoader의 하위 클래스를 통해 동적으로 로드되어 동적 실제 속성을 반영합니다. -자바의 시간 클래스 로딩 특성

    회신하다
    0
  • 高洛峰

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

    Tomcat은 WebappClassLoader를 사용하여 앱을 로드하지만 server.xml이 이 인터페이스를 여는 것을 볼 수 없습니다. 교체하려면 Tomcat 소스코드를 수정해야 합니다.

    더 나은 솔루션이 있습니다. Java 에이전트를 사용하여 클래스를 동적으로 교체하면 클래스를 암호화하고 복호화할 수 있습니다.

    회신하다
    0
  • 취소회신하다