読者です 読者をやめる 読者になる 読者になる

メモを揉め

お勉強の覚書。

EclipseのJSDTでユーザーライブラリを強制的に削除する方法

javascriptを書くときにEclipseを使用し始めてもうだいぶ立ちます。
最近になってMacBook Pro Retinaを購入してからも同じようにEclipseを導入したのですが、その移行作業中につまずいたのでメモ。

つまずいたところ

JSDTではあらかじめ読み込んでおきたいライブラリなどを、ユーザーライブラリとして登録しておく機能があります。
jQueryや自前のコードなど読み込ませて使用していたのですが、以前使用していたプロジェクトを開いた際、このユーザーライブラリの設定画面がエラーを吐いて開けなくなってしまいました。どうやら、古いプロジェクトに残っているユーザーライブラリのディレクトリパスがエラーを引き起こしたみたいです。

Macを使う前はずっとWindowsを使っていたので、古いプロジェクトのパスの形式は
「C:¥workspace¥library¥example.js」
みたいな感じで、MacUNIXやLunuxと同じで
「/workspace/library/example.js」
といった感じです。

この書式の違いが今回のエラーの原因かな?と思っていますが、単純に参照できないディレクトリだったせいかもしれないです…。
厄介なのはプロジェクトを削除しても、このユーザーライブラリのパスがキッシュされて消えないことです。

強制的に削除する方法

Macでのみの確認ですがEclipseのプロジェクト内の構造はほぼ同じはずなので、おそらくWindowsでもこの方法で削除できると思います。
操作する部分は隠しフォルダや隠しファイルになっているものが多いので、あらかじめOS側で見えるように設定したり、プロンプトやターミナルを使用して作業すると良いです。

  1. エラーが起きたワークスペースのディレクトリに移動
    (例:/workspaceや~/Documents/workspaceなど)

  2. 「.metadata」→「plugins」→「org.eclipse.core.runtime」→「.settings」と移動し、「org.eclipse.wst.jsdt.core.pref」をエディタで開く

  3. 以下の部分(おそらく最下行付近)を探し出して削除する

    org.eclipse.wst.jsdt.userLibrary.(登録したライブラリ名)=(ソースファイルのディレクトリパス)

    ここらへんの書式は使用していた環境によって少し違うかもしれないですが、それらしい行がきっと見つかると思います

  4. 「org.eclipse.wst.jsdt.core.pref」を保存して、Eclipseをクリーン起動する

以上で無事設定ページが復活しました。

本来のやり方

強制的に削除したのはあくまで設定画面が開けなくなったからなので、エラーが出ない場合はちゃんと設定画面から操作しましょう。

  1. Eclipseの環境設定を開く

    • Macの場合はメニューバーから「Eclipse」→「環境設定」
      eclipse_menu
    • Windowsの場合はメニューバーから「ウィンドウ」→「設定」
      eclipse_menu_win
  2. 左側のメニューから「javascript」→「インクルートパス」→「ユーザーライブラリー」

  3. 削除したいライブラリを選択して、右側の「除去」ボタンを押す

終わりです、なにこれw超簡単w
なんてことない事なんですが、これができなくなってしまったわけです。

結構大変だった

古いプロジェクトを読み込んでエラーが出たので、最初はプロジェクトフォルダのどこかに原因となる設定ファイルがあるんじゃないかと思いひたすら探しましたが分からず。
プロジェクトを削除してもエラーが消えないので、ワークスペース内の設定ファイルのどこかに原因となる記述があるはずと確信はしたもののとにかくフォルダが多い。
フォルダ大杉。
まあでもほんと直ってよかったです。