1

最近、JBOSS AS 7 に移行しました。これは OSGi ベースであり、すべてのモジュールが分離されているため、問題が発生しています。

jar の 1 つは、JBOSS モジュール外の指定されたディレクトリから URLclassloader によってロードされます。

Class[] parameters = new Class[]{URL.class};
URLClassLoader sysloader = (URLClassLoader)ClassLoader.getSystemClassLoader();
Class sysclass = URLClassLoader.class;
Method method = sysclass.getDeclaredMethod("addURL",parameters);
method.setAccessible(true);
method.invoke(sysloader,new Object[]{ flist[i].toURI().toURL()});

flist[i] には、ロードする完全なパスを含む jar が含まれています。

これは以前は機能していましたが、AS 7 以降では、このクラスは読み込まれません。

これらの jar を modules フォルダーに追加して、依存関係を指定できることはわかっています。しかし、私たちはこれが機能することを望んでいます。

これに対する解決策はありますか?

4

1 に答える 1

1

As others have said, JBoss AS 7 is not based on OSGi, it uses its own module system (JBoss Modules). What you're doing (reflection on classloaders) is against any rules, totally unsupported and worked only by accident. You you should is the following:

于 2015-03-16T15:49:56.237 に答える