Eclipse とは、Java プラグイン開発を目的としてつくられたフリーの統合開発環境。 もともとIBM社で開発されていたらしいが、現在はオープンソースとなっている。 コンパイラやプラグインさえ導入すれば、Java以外の言語も扱うことができる。 フリーなのに、Microsoft Visual Studio などの環境に匹敵する機能を持っており、 リファクタリングなど、VS にはない便利な機能も備えている。 インストール †詳細は以下で。 最近は All-in-One Eclipse という、いろいろなプラグインと日本語化パッチを全部含む便利なパッケージがある。 Web アプリケーションのプロジェクトをつくる †詳細は以下で。 Eclipse の罠 †作業をしていてぶち当たった問題とその解決方法をメモ。 Eclipse のバージョン †Eclipse には、いろいろ便利なプラグインがつくられているが、 これは、eclipse 本体のバージョンとあっていないと、ほぼ動かない。 つまり、上位互換になっていない。 (古いバージョンで対応しているプラグインが、 最新バージョンの eclipse 本体で動くかといえば、 そうとは限らないということ。) 特に、バージョン 3.1 と 3.2 は、 内部がガラリと変わっているらしい(私は確認してないけど)。 プラグインは、 対応した本体のバージョンを確認してダウンロード、インストールすること。 ソース添付がないというビルドエラー †次の理由でビルドに失敗する。 ソースが見つかりませんでした。 JARファイルrt.jarにソース添付がありません。 これは、「ウィンドウ」→「設定」→「Java」→「インストール済みのJRE」で 使用しているJREを選択して「編集」。表示されたリストから rt.jar を選択して「ソース添付」で「(JAVA_HOME)\src.zip」を指定すれば良い。 例えば、 C:\Program Files\Java\jdk1.5.0_07\src.zip とか。 Tomcat 6.0 プラグインのバージョン設定 †Eclipse 3.2 系と Tomcat 6.0 プラグイン (Eclipse 3.2 に対応してるのは tomcatPluginV32beta2 または beta3 - 2007/02/13 16:02 現在 )との組み合わせで、「ウィンドウ」→「設定」→「Tomcat」の Tomcat のバージョン選択で「6.x」を選択すると、コンテキスト宣言モードのコンテキストディレクトリが「\webapps」にデフォルト設定されるのだけど、これだとうまく動かない。 ここは「5.x」の設定時と同じく「\conf\(Catalina)\(ホスト名)」の設定にする。 C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost とか。 ただ、5.x と同じ設定なのはここだけで、Tomcat 6.x 系を使用する場合は、 バージョン選択では「6.x」を選択しておく必要がある(ライブラリの参照位置とかが 5.x と 6.x とでは違う)。 Tomcat 6.0 起動/終了 †Eclipse から Tomcat を起動しても、Tomcat Configure のステータスが開始(Start)にならない(Stopped のまま)。しかし、実際は(デバッグモードで?)起動している。Eclipse でブレークポイントを設定してトレースする場合は、Tomcat Configure で起動してもトレースできない。Eclipse から起動する。 Eclipse で Tomcat を起動したときに、Configure Tomcat で操作(起動/停止)するとおかしなことになる。その逆も然り。Eclipse で起動したら Eclipse で停止すること。 ちゃんと、連動すればいいのになぁ。。。 HTML Editor プラグインの起動が遅い件 †Amateras HTML Editor で DOCTYPE を記述すると、保存と展開にかなり時間がかかる。 例えば、 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> (以下 XML 本文...) のように、外部 DTD を参照させたときに時間がかかっているかも。(この記述があると、接続状況によっては Eclipse がフリーズしたようになるが、根気よく待てば、ちゃんと開かれる。) ちなみに、プロキシの設定が正しくないと、外部に接続できず、タイムアウトするまで Eclipse が固まってしまう。プロキシの設定は、「ウィンドウ」→「設定」→「インストール/更新」ページの「プロキシの設定」。 taglib 設定でエラーが出る件 †環境
taglib をちゃんと設定しているにも関わらず、Eclipse(Amateras?) がエラーを吐く。 具体的には、次の通り。 WEB-INF の下に tld ファイルをインポートして、 web.xml に、taglib のロケーションを記述。( web.xml は WEB-INF の下に配置。) <taglib> <taglib-uri>/tags/struts-bean</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-html</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/tags/struts-logic</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> JSP ファイルの先頭に、この taglib を記述。 <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> 以上は正しい設定(のはず)。 これで、このJSPに、例えば、 <html:html> (HTMLの内容) </html:html> のように記述して("html:html" は tld で定義されている)保存(Ctrl+S)すると、 Eclipse が次のエラーを出力する。 "html"に対応するtaglibディレクティブが存在しないか tld ファイルが見つかりません あるっちゅうねん! 実際、これでもJSPはちゃんと動く。 Eclipse がエラーだと誤認しているだけなんだけど、このままだと非常に気分が悪い。 どうやら、ワークスペースをコンテキストのルート以外のところにするとこうなるらしい。 (コンテキストのルート配下にサブディレクトリを作って、そこにJSPやWEB-INFを作ってる場合など。) これを解決するには、 「プロジェクト」→「プロパティ」→「Amateras」の「ルート」というところに、 作業をしているサブディレクトリのパスを書く。 例えば、「webapp」というコンテキストディレクトリの下に 「AppTop?」というサブディレクトリを作って、その下にWEB-INFなどを配置している場合は、 ルートに「/AppTop?」と書いておく。 これで「適用」或いは「OK」をしても、なぜかエラーは出っ放しなので、 いったん Eclipse を閉じて、再度開きなおす。 で、問題のJSPファイルを開けば、エラーは解消されるはず。 構成に問題があるプラグイン †きっかけは解らないが、ときどき、既に入れているプラグインにエラーが発生して、 新たなプラグインがインストールができなくなることがある。 例えば、これ。 要求された操作は現在の構成には無効であるため、実行できません。 詳しくは詳細を参照してください。 Hibernate Tools (3.2.0.beta9a) 必須: プラグイン "org.eclipse.wst.common.project.facet.core (1.1.0)"、 またはそれ以降のバージョン。 この場合、既にインストールしてある Hibernate Tools プラグインにエラーがある為、 新たなプラグインがインストールできない。 考えられるのは、
いずれにしろ、このままだと新たなプラグインが入れられない。 対処
この場合、無効にしたプラグインを有効に戻そうとすると、同様のエラーが出て戻すことができないので、 だましだましでもそのプラグインを使いたい場合は、ちょっと覚悟が必要。 だれかこの問題解決してくれてないかなぁ。 外部リンク †
|