私は Eclipse RCP 製品と、それを 2 つの異なるモードで起動するための 2 つのランチャーを持っています。3 つすべてに存在する引数もあれば、いずれか一方に固有の引数もあります。
過去に、これらの 1 つが他のものなしで変更されるという問題がありましたが、すぐには気付かないため、デプロイされた製品は、デバッグで起動されたバージョンとは異なる動作をすることになります。
.product
s が xml のようなファイルであることは役に立ちませんが、 s は.launcher
VM 引数を 1 行の文字列に格納するため、それらを比較することは困難です。
たとえば、私の製品は次の.product
ようなものを含むファイルを作成します:
<launcherArgs>
<vmArgs>-Declipse.pluginCustomization=../config/pluginCustomization.ini
-Dmode=live</vmArgs>
</launcherArgs>
これは、ライブ デバッグ ランチャーと同じ vm 引数を持つことを意図しています。
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.pluginCustomization=../config/pluginCustomization.ini -Dmode=live"/>
ただし、ダミーのデバッグ ランチャーには、同じ引数と異なる引数が必要です。
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.pluginCustomization=../config/pluginCustomization.ini -Dmode=dummy"/>
では、異なる Eclipse ランチャーで同じ引数を複数回指定することを避けることはできますか?
理想的には、ランチャーを製品の引数にデフォルト設定して、異なる引数をオーバーライドするか、製品に共通の項目だけを含めてランチャーに違いを持たせたいと思っていますが、これまで試したことはすべて失敗しました。