Eclipseで同じプラグインを異なるバージョンで2回ロードする
-
28-10-2019 - |
質問
特定の.xmiをロードするEMFプラグインの2つの異なるバージョンがあります。後者のバージョンは、前のバージョンのxmiに互換性がないように変更されています。私がやりたいのは、最初のプラグインでxmiをロードしてから、新しいプラグインを使用してプログラムでモデルを構築し、古いモデルを移行することです。これらは、EMFモデル内のいくつかの変更を除いて同一です。
これらのプラグインをロードするにはどうすればよいですか?出来ますか?より良い戦略はありますか?
解決
2つのコードとモデルを同時に使用できるように、古いバージョンのID(および場合によってはEMFパッケージURI)を変更することをお勧めします。
同じプラグイン(移行プログラム)で古いクラスと新しいクラスの両方を処理する必要があるため、両方を機能させる方法はありません。
ただし、
他のヒント
申し訳ありませんが、これらのプラグインはシングルトンであるため、それは不可能です。また、Java基本クラスが邪魔になるため、移行中にプラグインを切り替えることはできません。
考えられる解決策の1つは、 EDapt テクノロジーを使用することです。このテクノロジーを使用すると、モデルをロードするときにモデルを自動的に移行できます。私は2つの異なるプロジェクトでCOPE(EDaptの前身)を使用して大成功を収めました。