2
私はEMF用のスクリプト環境を開発しており、モデルのプラグインをインポートしてモデルで生成されたクラスを使用できるようにする必要がありますが、プラグインをインポートに明示的に追加する必要があります。プラグインプロジェクトを指定せずにワークスペースからインポートするにはどうすればよいですか?
自動的に行うことはできますか?実行時にすべてのワークスペースプラグインをインポートに追加するのと同じですか?
私はEMF用のスクリプト環境を開発しており、モデルのプラグインをインポートしてモデルで生成されたクラスを使用できるようにする必要がありますが、プラグインをインポートに明示的に追加する必要があります。プラグインプロジェクトを指定せずにワークスペースからインポートするにはどうすればよいですか?
自動的に行うことはできますか?実行時にすべてのワークスペースプラグインをインポートに追加するのと同じですか?
バンドルマニフェストでDynamicImport-Package: *
属性を使用すると、エクスポートされたすべてのパッケージを表示することができます。
DynamicImport-Package経由でインポートされたパッケージは、パッケージのクラスが必要になるたびに解決されることに注意してください。より良い選択肢として選択的な動的インポートをDynamicImport-Package: *;dynamic=mymodel
またはbuddy policyと考えてください。
チップをありがとう!私がしたことは、すべてのバンドルマニフェストを解析してからクラスを持つclassLoaderを取得することでした。次に、クラスをロードし、実際のClassLoaderが持つHashMapにクラスを追加します。この方法でクラスを1回だけ呼び出すことになります。また、あなたのヒントを使って、私のスクリプトエンジンはより速く動作します – herculanodavi