Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。

Eclipse

エラー、警告の修正方法

Eclipseでエラー、警告が出た場合、エラー、警告のアイコンに電球のアイコン(Eclipse_エラー、Eclipse_警告)がついていることがあります。それは、Eclipseが修正コードを推測できることを表します。

その場合、エラー、警告が表示された箇所で「Ctrl + 1」を押すことで、Eclipseの修正コード一覧を表示することができます。

文字列の検索方法

Eclipseで特定の文字列を、Workspace、プロジェクト、該当ファイルなど検索範囲を指定して検索することができます。

文字列の置換方法

Eclipseで特定の文字列を、Workspace、プロジェクト、該当ファイルなど範囲を指定して置換することができます。

jarファイルをクラスパスに設定する方法

必要なjarファイルをクラスパスに設定していない場合、Eclipse上でコンパイルエラーとなります。クラスパスの設定方法を以下に記載します。

  1. クラスパスを設定したいプロジェクトを右クリックし、「プロパティー」を選択します。
  2. 「Javaのビルド・パス」を選択します。
  3. 「Javaのビルド・パス」画面が表示されますので、「ライブラリー」タブをクリックします。
  4. Eclipseのワークスペース内のjarファイルをクラスパスに設定する場合は、「JARの追加」をクリックし、該当のjarファイルを設定します。
    外部のjarファイル(Jakartaプロジェクトで作成など)をクラスパスに設定する場合は、「外部 JARの追加」をクリックし該当のjarファイルを選択します。

「パッケージ・エクスプローラー」ビューと「ナビゲーター」ビューの違い

パッケージ・エクスプローラー」ビューはソースファイルだけではなく、ソースファイル内のクラス、メソッドも表示されます。また、クラスパスに設定されているライブラリも表示されます。
コンパイルされたclassファイルは表示されません。

パッケージ・エクスプローラー

ナビゲーター」ビューはソースファイル、classファイルなどワークスペース内のすべてのファイルが表示されます。
ソースファイルに記載されたクラス、メソッド、クラスパスに設定されているライブラリは表示されません。

ナビゲーター

警告:serialVersionUIDフィールドを宣言していません

serialVersionUIDとは、シリアライズ可能なクラス(Serializableインタフェースを実装したクラス)に対して付与するバージョン番号です。シリアライズされたオブジェクトの受信側は、クラスが送信側のものと同一かを検証するためにこの値を利用します。serialVersionUIDが明示的に宣言されていない場合は、自動生成されますが、クラスの詳細情報により意図した値とは異なる値が生成される場合もあるので、明示的に宣言することが推奨されています。
シリアライズの詳細については、Javaの道:入出力(7.オブジェクトのシリアライズ)を参照してください。

Eclipse3.1から、シリアライズ可能なクラスにserialVersionUIDが宣言されていない場合、警告が表示されるようになりました。「Ctrl + 1」でEclipseがserialVersionUIDのデフォルト値を宣言してくれます。

オブジェクトのシリアライズを行わない場合は、設定により警告を無視することもできます。警告を無視する方法を以下に記載します。

  1. 「ウィンドウ」→「設定」をクリックします。
  2. 「Java」→「コンパイラー」→「エラー/警告」の順に選択します。
  3. 「潜在的なプログラミングの問題」の「serialVersionUIDなしのシリアライズ可能クラス」を「無視」に設定します。

EclipseからTomcatのログや標準出力を参照する方法

EclipseからTomcatのログやServlet、JSPから出力される標準出力を参照するための設定を行います。「Run」→「Open Run Dialog」を選択し、起動するTomcatサーバを選択します。「Arguments」タブでTomcat起動時に設定される引数を確認します。

Tomcat_Arguments

起動する際の引数にTomcatのログを参照する以下の設定を追加します。

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

%CATALINA_BASEには、「-Dcatalina.base」で設定されている値を指定します。

Tomcat_Arguments2

Tomcat5.5から、Tomcatのログはlogging.propertiesで設定するようになっています。Tomcatのlogging.propertiesファイルを、「-Djava.util.logging.config.file」で指定した箇所にコピーします。

logging.propertiesファイルを開くと以下のような設定がされています。
levelの箇所でログの出力レベルが指定できます。指定できる出力レベルは、 SEVERE/CONFIG/INFO/WARN/FINE/FINEST/ALLがあり、左から順に出力レベルが厳しくなり、ALLを指定すると全てのログが出力されます。

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4admin.org.apache.juli.FileHandler.level = FINE
4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4admin.org.apache.juli.FileHandler.prefix = admin.

5host-manager.org.apache.juli.FileHandler.level = FINE
5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5host-manager.org.apache.juli.FileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

java.util.logging.ConsoleHandler.levelに出力レベルを指定することで、EclipseのコンソールからTomcatのログやServlet、JSPから出力される標準出力のメッセージなどを参照できるようになります。

Eclipseのコンソールの表示行を増やす方法

Eclipseのコンソールに表示される文字数がデフォルト設定の場合、すぐにクリアされ、後で確認できなくなります。文字数の表示数を変更する方法です。

Eclipse_コンソール1
  1. 「ウィンドウ」→「設定」をクリックします。
  2. 「実行/デバック」→「コンソール」の順に選択します。
  3. 「コンソール出力の制限」にチェックを入れ、「コンソールのバッファーサイズ」を「1000000」に変更します。
    「コンソール出力の制限」のチェックを外すと無制限になります。
Eclipse_コンソール2

Eclipseのアンインストール方法

EclipseはWindowsのコントロールパネルからインストール/アンインストールするというものではなく、Eclipseをダウンロードして展開したフォルダを削除するのみで、アンインストールできます。

他の場所にワークスペースのフォルダを作成していた場合は、必要に応じそのフォルダも削除します。

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:○○○' did not find a matching property.

EclipseからTomcatを利用する際、その設定は[Servers]プロジェクト配下の各設定ファイルに記述されています。Webアプリ開発向けのプロジェクトを追加すると、その中のserver.xmlファイルに、「source="org.eclipse.jst.j2ee.server:○○○"」が記載されます。
これは、Eclipseがプロジェクトの位置を把握するために自動的に記述される設定です。

Tomcat6.0.16から、認識していないXMLタグがserver.xmlファイルやcontext.xmlファイルに記述されていた場合、"警告"を出すようになったため、この警告メッセージが出されるようになっています。これは放っておいても、アプリの動作自体には何の影響も与えないため問題ありません。

文書に対する文法制約(DTDまたはXMLスキーマ)の参照がありません

DTDまたは、XMLスキーマの設定がないXMLファイルを設置すると表示される警告です。XMLファイルに「<!DOCTYPE configuration>」と記述することで警告を消すことができます。

Eclipse_DTD警告1

また、XMLファイルの検証設定を「無効」にすることで、警告を表示させないようにすることもできます。

  1. 「ウィンドウ」→「設定」をクリックします。
  2. 「XML」→「XMLファイル」→「検証」の順に選択します。
  3. 「文法指定なし」を「無視」に変更します。
Eclipse_DTD警告2

Tomcat vx.x サーバーは45秒内に始動できませんでした

EclipseからTomcatを起動する際、Tomcatのデフォルトのポート番号である8080番を無効にしていると、Tomcatが起動できずエラーになるようです。その場合は、server.xmlで指定している無効の設定を解除することで起動できるようになります。

1Eclipse