문제 설명이 명확하지 않습니다 하지만 클래스 로딩에 대해 간략하게 설명드릴 수 있습니다 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의 하위 클래스를 통해 동적으로 로드되어 동적 실제 속성을 반영합니다. -자바의 시간 클래스 로딩 특성
문제 설명이 명확하지 않습니다
하지만 클래스 로딩에 대해 간략하게 설명드릴 수 있습니다
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의 하위 클래스를 통해 동적으로 로드되어 동적 실제 속성을 반영합니다. -자바의 시간 클래스 로딩 특성
Tomcat은 WebappClassLoader를 사용하여 앱을 로드하지만 server.xml이 이 인터페이스를 여는 것을 볼 수 없습니다. 교체하려면 Tomcat 소스코드를 수정해야 합니다.
더 나은 솔루션이 있습니다. Java 에이전트를 사용하여 클래스를 동적으로 교체하면 클래스를 암호화하고 복호화할 수 있습니다.