めんどくさがりダイアリー

へっぽこプログラマの備忘録

Javaがコンパイルできない

こんにちは。

 

最近、就活で忙しいためにコードをまったく書いていなかったので

Javaの復習でもしようとSublime Text2でコードを書いてコマンドプロンプトコンパイルして実行しようとしたら、

「エラー: メイン・クラスHelloWorldが見つからなかったかロードできませんでした」

とエラーメッセージが・・・

 

ggってみると、クラスパスの設定がおかしいらしい。

クラスパスにはすでに

「C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar」

と入力してある。

これは大学でプログラムをする際に設定した値ってことを思い出した。

それで、この先頭に「.;」を入力して

「.;C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar」

としたらあっさり実行できた(^_^)/

 

クラスパスって何?

そもそもクラスパスについて理解できていないのでこの際、しっかり理解しておきたい。

クラスパスとは、Javaアプリケーションを実行するときに、Java Virtual MachineJava VM)がどの“場所”からクラスファイルを読み込めばよいかを、指定するためのものです。 基本的には、Java VMは、アプリケーションを実行するために必要なクラスファイルをクラスパスに指定された“場所”から読み込みます

http://www.atmarkit.co.jp/fjava/onepoint/java/jv_clpath.htmlから

つまり、実行するときに必要なファイルを探す場所ってことらしい。

だから「.;」を追加したことで、まずカレントディレクトリからクラスファイルを探すようなって実行できるようになった!

 

servet-api.jarってなに? 

じゃあ、前に入力してあった「servet-api.jar」ってなんだろ?

(大学で設定したときは分かってなかった・・・)

調べてみると、javaサーブレットコンパイルするときはクラスライブラリのクラスパスを通さなければいけないらしい。

 なるほど。