Maison > Questions et réponses > le corps du texte
要对web项目的class文件进行混淆,请问在哪配置可以让tomcat先使用自定义的类加载器?
PHP中文网2017-04-17 17:46:59
La description du problème n'est pas très claire
Mais je peux vous expliquer brièvement le chargement de la classe
a.Bootstrap ClassLoader/Startup classloader
Principalement responsable de l'API principale ou de l'option -Xbootclasspath dans le répertoire jdk_home/lib Le package jar spécifié est inclus dans le travail.
b.Extension ClassLoader/chargeur de classe étendu
est principalement responsable du chargement du package jar dans le répertoire jdk_home/lib/ext ou du package jar dans le répertoire spécifié par -Djava.ext.dirs
c.System ClassLoader/chargeur de classe système
Principalement responsable de l'importation des classes et des packages jar dans le répertoire pointé par java -classpath/-Djava.class.path.
d.User Custom ClassLoader/Chargeur de classe défini par l'utilisateur (sous-classe de java.lang.ClassLoader)
Pendant l'exécution du programme, les fichiers de classe sont chargés dynamiquement via la sous-classe de java.lang.ClassLoader, reflétant les caractéristiques dynamiques de chargement de classe en temps réel de java
高洛峰2017-04-17 17:46:59
Tomcat utilise WebappClassLoader pour charger l'application, mais je ne vois pas server.xml ouvrir cette interface. Si vous souhaitez le remplacer, vous devez modifier le code source de Tomcat.
Il existe une meilleure solution, utilisez l'agent Java pour remplacer dynamiquement la classe, afin que la classe puisse être chiffrée et déchiffrée.