要对web项目的class文件进行混淆,请问在哪配置可以让tomcat先使用自定义的类加载器?
认证高级PHP讲师
問題の説明はあまり明確ではありませんしかし、クラスのロードについて簡単に説明できますa.ブートストラップ クラスローダー/スタートアップ クラス ローダー主にコア API または -Xbootclasspath オプションを担当しますjdk_home/lib ディレクトリ 指定された jar パッケージがインポートされます。 b.Extension ClassLoader/Extension Class Loader は、主に jdk_home/lib/ext ディレクトリ内の jar パッケージ、または指定されたディレクトリ内の jar パッケージを担当します。 Djava.ext.dirsc.System ClassLoader/システム クラス ローダーは主に、java -classpath/-Djava.class.path.d が指すディレクトリにクラスと jar パッケージをインポートする役割を果たします。ユーザーカスタム ClassLoader/ユーザー定義 クラスローダー (java.lang.ClassLoader のサブクラス) を定義しますプログラムの実行中、クラスファイルは java.lang.ClassLoader のサブクラスを通じて動的にロードされ、動的実数を反映します。 -time java
Tomcat は WebappClassLoader を使用してアプリをロードしますが、server.xml がこのインターフェイスを開いているのがわかりません。これを置き換える場合は、Tomcat のソース コードを変更する必要があります。
より良い解決策があります。Java エージェントを使用してクラスを動的に置き換え、クラスを暗号化および復号化できるようにします。
問題の説明はあまり明確ではありません
のクラスロード特性しかし、クラスのロードについて簡単に説明できます
a.ブートストラップ クラスローダー/スタートアップ クラス ローダー
主にコア API または -Xbootclasspath オプションを担当しますjdk_home/lib ディレクトリ 指定された jar パッケージがインポートされます。
b.Extension ClassLoader/Extension Class Loader
は、主に jdk_home/lib/ext ディレクトリ内の jar パッケージ、または指定されたディレクトリ内の jar パッケージを担当します。 Djava.ext.dirs
c.System ClassLoader/システム クラス ローダー
は主に、java -classpath/-Djava.class.path.
d が指すディレクトリにクラスと jar パッケージをインポートする役割を果たします。ユーザーカスタム ClassLoader/ユーザー定義 クラスローダー (java.lang.ClassLoader のサブクラス) を定義します
プログラムの実行中、クラスファイルは java.lang.ClassLoader のサブクラスを通じて動的にロードされ、動的実数を反映します。 -time java
Tomcat は WebappClassLoader を使用してアプリをロードしますが、server.xml がこのインターフェイスを開いているのがわかりません。これを置き換える場合は、Tomcat のソース コードを変更する必要があります。
より良い解決策があります。Java エージェントを使用してクラスを動的に置き換え、クラスを暗号化および復号化できるようにします。