ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

Eclipse 3.2 で Subclipse 1.4.x を入れたらNLPackが動かなくなった。

今時Eclipse3.2って、何年前だよと言われそうですが。2005年のEclipse3.1の時点で同様の現象が発生しているようです。

Eclipse3.1.1に言語パックを入れた環境に、Subclipseを入れて再起動すると英語に戻ってしまいます。その後、「eclipse -clean」による起動や、言語パックの入れ直しをしても英語のままです。

[http://d.hatena.ne.jp/r-matuda/20051010:title=[Eclipse] 言語パックのバグ?]

下記にあるように"-nl"オプションを使って無理矢理"ja_JP"とかを指定しても英語になってしまう。*1

localeの設定は、実は、
eclipse.exe -nl "en_US"
というコマンドラインオプションでできることを発見。これでメニューが全部英語になって、和訳や誤訳などに惑わされないですみます。

Leo's Chronicle: [Eclipse] Subclipse plug-in用のlocale設定

Eclipseのpluginを入れる時に、NLPackがおかしくなるのは以前にも遭遇した事があります。はっきり言っていらつきます。只でさえEclipseってzipの時点で数十M - 百何MBで、展開するのも時間がかかります。またEclipse3.2.1の日本語が入ったNLPackもzipで51MBもありました(SDK用のNLPack)。
これでPluginの入れる順序がおかしいからと何度も展開したり消したりするなんてやってられません。

そもそもpluginの管理もイケテ無い。Eclipseの本体のfeaturesとかpluginsに突っ込むなんて、キモチワルイ。

・・・と思っていたら、こんな記事を見つけました。

Eclipse環境を管理する

・・・これですよ!
これを読めば、あるPluginをEclipse本体とは別のディレクトリ階層に分離して入れる事ができ、しかも特定のPluginをピンポイントでdisableにすることも出来るようになります!!

もっと早く読んでおけば良かった!!

で、試行錯誤しながら弄っている内に、ちゃんとSubclipseとNLPackをEclipse本体から分離してセットアップし、しかも一度もNLPackがおかしくならずにそのまま動作しました。
やっぱり、本体ディレクトリにごちゃごちゃ入れると駄目ですね。

大雑把な流れを示します。

1. Eclipseの本体を展開します。

C:\eclipse3.2\
    configurations\
    features\
    plugins\
    readme\
    ...
    eclipse.exe

2. NLPackのplugin用のディレクトリを作成し、NLPackを展開します。

C:\eclipse.extensions\
    3.2.1_nlpack1\
        eclipse\
            features\
            plugins\
            .eclipseextension

".eclipseextension"の中身ですが、実はこの前にプロパティエディタをchange locationして入れてみていて、その時自動生成された.eclipseextensionをそのまま流用してます。前掲のIBMのサイトにも解説されています。

そしてここのfeaturesとpluginsディレクトリにNLPackの中身をコピーしておきます。

3. linksディレクトリを使ってpluginの探索パスにNLPack用のディレクトリを追加する。

Eclipse本体ディレクトリに"links"ディレクトリを作成します。

C:\eclipse3.2\
    links\

この中に "eclipse3_2_1_nlpack1.link" というテキストファイルを用意して(多分ファイル名は末尾.linkであれば何でも良いはずです)、以下の内容を書いておきます。

path=C:\\eclipse.extensions\\3.2.1_nlpack1

pathに先ほど作成したNLPack用のディレクトリを指定します。円記号が二重になっていますが、前掲のIBMの資料によるとこれで良いようです。

4. "-clean" オプション付きでeclipseを実行する。

これで日本語化されました。

5. プロパティエディタ5.0.0が動かなかったので4.8.2に簡単に戻せた。

今回は手動でディレクトリを用意したりプラグインを展開したりlinksファイルを用意したりしていますが、ディレクトリだけ用意しておけば、Eclipseインストーラでpluginとかを特定のディレクトリにインストールできるように元からなっています。
で、プロパティエディタ を検索→インストールさせたら 5.0.0 が入りました。
が、これがNullPointerとか吐いて動かない。
しょうがないので、ここまで書いた方法で

C:\eclipse.extensions\propedit_482

の下に eclipse\featrues とか eclipse\plugins とか作成し、その中に以前はちゃんとEclipse3.2上で動いていた バージョン4.8.2 のzipを展開。で、Eclipseの構成管理で追加し、5.0.0の方はdisableにする。
これでバージョン4.8.2の方のプロパティエディタがちゃんと動くようになりました。

6. SysdeoのtomcatPluginだけはこれじゃだめだった。

調子に乗ってsysdeoのtomcatPluginもこの手法で入れようとしたのですが、何故か認識されず・・・。やむなくこれだけ、Eclipseの本体ディレクトリに入れました・・・。

*1:下記サイトの記事の本意は、en_USで動作させる事にあるようです