私は現在使用しています
String myClass; // dynamically determined class name
Class.forName(myClass).newInstance()
TomcatサーバーにデプロイされたSpringアプリにオブジェクトを動的にロードします。
私は(http://blog.bjhargrave.com/2007/09/classforname-caches-defined-class-in.html)、クラスを動的にロードするための好ましいアプローチは ClassLoader.loadClass
、
ClassLoader.getSystemClassLoader().loadClass(myClass).newInstance()
2番目の例では、を使用loadClass
すると、クラスが見つからないというエラーが発生します。これは、Tomcat内で実行しているため、システムクラスローダーが実際に使用したいクラスローダーではないためと思われます。
Tomcatアプリの場合、loadClassメカニズムを使用する場合、どのクラスローダーを使用する必要がありますか?