たぷつきません

おなかがでてきた。もうたぷついてるやん。

Add Required Pluginの罠 その2

 複数バージョンのpluginがあって実行のためにはそれらが全て必要な場合でも新しいものしか選択されない。
 たとえばwstのwebservice関連を含める時に[Add Required Plugin]して実行するとスプラッシュが出たすぐ後に何も言わずに落ちてしまう。ワークベンチを開く前なのでruntime-workspaceもできてないし当然エラーログも残らない。デバッガ起動元のeclipseにもError Logにも何も吐かれない(-consoleしてもね)。突然死はdependenciesが解決していないとよくある現象。しかし[Add Required Plugin]はしているのに。
 全てのプラグインを有効にすると起動できることが分かったので、仕方なくしらみつぶしで1つ1つチェックをつけて行ってようやく javax.wsdl(1.4.0)にチェックついてないからということが分かった。plugin.xmlのDependenciesには複数バージョンを加えているにもかかわらず[Add Required Plugin]すると片方しか選ばれない。
 とりあえずDebug Configurationでは手動でチェックすれば回避できるので良い*1けど、問題は Export productの、.productファイルの方。.productではプラグインのバージョン指定ができず複数加えられない。exportされたセットには案の定javax.wsdl_1.5.1.〜.jarしか含まれなかった。マルチプラットフォームexportがターゲットなので個別にコピーして回るのはどうだろう感がある。
 それじゃあワークスペースのpreferencesの[Target Plugin]から javax.wsdl1.5.1をはずして、1.4.0だけ含まれるようにすれば良いか…と言えばそれもダメで、org.apache.axisが 1.5.1をrequiredなのだった。

*1:似たような事象がでるとまたしらみつぶし攻撃がはじまるので全然よくないけど