0

既存のJavaプログラム用のJavaプラグインを開発しています。既存のプログラムは特定のバージョンのeclipse.uml2。*を使用しており、私のプラグインも使用しています。残念ながら、プラグインには新しいバージョンが必要です。

プラグインを実行するには、プラグインをJarファイルにエクスポートする必要があります(すべてのjarがパックされています)。次に、プログラムがそれを実行します。しかし、どういうわけか、新しいeclipse.uml2。*はプログラムに干渉しているようです->クラッシュします。

jarファイルの両方のバージョンを「分離」する方法はありますか?

4

3 に答える 3

1

これは、OSGiが解決しようとする正確な問題です。Javaアプリを別のプラグインプラットフォームに作り直すことは可能でしょうか?

于 2010-03-13T09:56:22.773 に答える
1

アプローチは、アプリケーションでカスタムクラスローダーを使用することです。これにより、追跡が困難なバグが非常に簡単に発生する可能性があるため、注意してください。

http://www.devx.com/Java/Article/31614/1954

于 2010-03-13T08:18:23.687 に答える
0

これは難しいでしょう。おそらく、クラスローダーのトリックを使用して、両方のバージョンのeclipse.uml.*クラスを同じJVMにロードできるようにすることを試みます。ただし、JVMに関する限り、それらは異なるクラスのセットであり、プラグインとベースJavaアプリはインスタンスを交換できません。

基本プログラムまたはプラグインのいずれかを再構築(および必要に応じて変更)して、両方が同じバージョンのeclipse.uml2.*クラスで動作するようにする方が、おそらく簡単です(成功の可能性の点でリスクは低くなります)。

于 2010-03-13T08:16:55.250 に答える