ボンジュール・マドモアゼル

本サイトの情報は自己責任にてご利用下さい。

[Eclipse] The project: xxxxxx which is referenced by the classpath, does not exist.

 
Eclipse 3.7 にて掲題のエラーが発生。
どうやら原因は workspace フォルダと project フォルダに同じ名前を付けていることにあったようだ。

[Eclipse] Eclipse サーブレット テンプレートの修正変更

 
Eclipse の Servlet の雛形をカスタマイズする方法は以下のとおり。
設定ではなくソースコードを編集する必要がある。
以下、実施環境は、Windows 7 および Eclipse 3.7.

1. eclipse/plugins/org.eclipse.jst.j2ee.web.source_1.1.501.v201108231500.jar を解凍する。
jar ファイルは、zip と同じ形式なので、ファイル名を変えれば zip 解凍ツールで解凍できるはず。
解凍したディレクトリは以下では、<source> と表記する。

2. ServletTemplate.java を修正する。

ServletTemplate.java の格納場所:
<source>/org/eclipse/jst/j2ee/internal/web/operations

修正例:
ServletTemplate.java (line 107-119)
107    protected final String TEXT_81 = NL + NL + "\t/**" + NL + "\t * @see Servlet#init(ServletConfig)" + NL + "\t */" + NL + "\t@Override" + NL + "\tpublic void init(ServletConfig config) throws ServletException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$

108 protected final String TEXT_82 = NL + NL + "\t/**" + NL + "\t * @see Servlet#destroy()" + NL + "\t */" + NL + "\t@Override" + NL + "\tpublic void destroy() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
109 protected final String TEXT_83 = NL + NL + "\t/**" + NL + "\t * @see Servlet#getServletConfig()" + NL + "\t */" + NL + "\t@Override" + NL + "\tpublic ServletConfig getServletConfig() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\treturn null;" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
110 protected final String TEXT_84 = NL + NL + "\t/**" + NL + "\t * @see Servlet#getServletInfo()" + NL + "\t */" + NL + "\t@Override" + NL + "\tpublic String getServletInfo() {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t\treturn null; " + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
111 protected final String TEXT_85 = NL + NL + "\t/**" + NL + "\t * @see Servlet#service(ServletRequest request, ServletResponse response)" + NL + "\t */" + NL + "\t@Override" + NL + "\tpublic void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
112 protected final String TEXT_86 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
113 protected final String TEXT_87 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
114 protected final String TEXT_88 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
115 protected final String TEXT_89 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doPut(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
116 protected final String TEXT_90 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doDelete(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
117 protected final String TEXT_91 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doHead(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
118 protected final String TEXT_92 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doOptions(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
119 protected final String TEXT_93 = NL + NL + "\t/**" + NL + "\t * @see HttpServlet#doTrace(HttpServletRequest, HttpServletResponse)" + NL + "\t */" + NL + "\t@Override" + NL + "\tprotected void doTrace(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {" + NL + "\t\t// TODO Auto-generated method stub" + NL + "\t}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
3. ServletTemplate.java をコンパイルする。

(1)ServletTemplate.java およびコンパイルに必要なファイル(現時点では以下の3つ)を一時的な作業ディレクトリに集める。

/eclipse/plugins/org.eclipse.jst.j2ee_1.1.501.v201108231845.jar

/eclipse/plugins/org.eclipse.jst.j2ee.web_1.1.501.v201108231500.jar

<source>/org/eclipse/jst/j2ee/internal/web/operations/CreateServletTemplateModel.java

(2)コマンドプロンプトを立ち上げ、次のコマンドで ServletTemplate.java をコンパイルする。

javac -classpath org.eclipse.jst.j2ee.web_1.1.501.v201108231500.jar;org.eclipse.jst.j2ee_1.1.501.v201108231845.jar ServletTemplate.java
4. /eclipse/plugins/org.eclipse.jst.j2ee.web_1.1.501.v201108231500.jar を解凍し、作業ディレクトリ直下に置く。
以下ではこの解凍したディレクトリの名称を <classes> と表記する。

5. 手順 3 で生成された ServletTemplate.class を手順 4 で解凍されたものに上書きする。
格納場所:
<classes>/org/eclipse/jst/j2ee/internal/web/operations

6.次の2つのファイルを削除する。
<classes>/META-INF/ECLIPSEF.RSA
<classes>/META-INF/ECLIPSEF.SF

7. <classes>/META-INF/MANIFEST.MF を作業ディレクトリの直下に移動する

8. MANIFEST.MF"Name:" あるいは "SHA1-Digest:" で開始する行をすべて削除する。

参考: マニフェストファイルの制約事項
9. 作業ディレクトリをカレントディレクトリとした状態で次のコマンドを実行する。
(手順どおりならば、作業ディレクトリの直下に MANIFEST.MF<classes> ディレクトリがあるはず。)

jar cfm org.eclipse.jst.j2ee.web_1.1.501.v201108231500.jar MANIFEST.MF -C <classes> .

※コマンドの最後にピリオドがあることに注意。

10. 生成した org.eclipse.jst.j2ee.web_1.1.501.v201108231500.jar/eclipse/plugins に配置する。

[Eclipse] Eclipse 言語が切り替わらない

 
Pleiades All in One 日本語ディストリビューションにおいて
eclipse.ini で言語と国を指定しても日本語から英語へ言語が変わらない。
結局、以下の手順で切り替わった。

  1. eclipse.ini に次の2文を追記する。
    -Duser.language=en
    -Duser.country=US


  2. eclipse.ini の次の一文について行頭を--とし、コメントアウトする。
    --javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar


  3. コマンドファイル eclipse.exe -clean.cmd を実行する。

[Eclipse] Eclipse: Consolas + メイリオ の ClearType 表示

 
Windows 7 の Eclipse で、Consolas に日本語フォント「メイリオ」を組み合わせて表示することができました。
やり方は、以下のとおり。自己責任で。

  1. レジストリエディタで以下のパスを開く。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink

  2. Microsoft Sans Serif の項目を開き、1行目に次のフォントリンク指定を追加する。
        meiryo.ttc,Meiryo,128,72

  3. 再起動する。

※ Eclipse 3.7 では、Consolas に対するフォントリンクは、Microsoft Sans Serif のものが使用されているようです。既に Consolas の値を設定している場合は、削除した方がいいかもしれません。MS Sans SerifConsolas のふたつを同時に設定すると、Eclipse上での表示がおかしくなる可能性があります。
128,72 のスケーリングの値は、なるべく日本語文字が倍角になるよう選んでいますが、それに拘らず、読みやすさを優先させるなら、meiryo.ttc,Meiryo,128,85 などの値でもよいかもしれません。2番目の数字を大きくすると文字が小さくなります。好みの値に調整して下さい。スケーリング指定は、Windows XP では無効かもしれません。

注意
設定後、Eclipse を開くと、全角文字が半角文字の倍角(倍の幅)で扱われているように見えますが、そうではありません。
日本語に続けて、半角スペースなどを入力すると、桁がずれてきます。

参考
meiryo.ttc,Meiryo,128,72 の 数値の部分は、日本語の文字表示のスケーリング指定です。
これを指定しないと、下図のように日本語の文字幅が半角の幅に調整され、日本語文字が小さく見えます。
Scalling Factor を指定しない場合