java すいません Hello world

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
dic
記事: 655
登録日時: 13年前
住所: 宮崎県
連絡を取る:

java すいません Hello world

#1

投稿記事 by dic » 5年前

javaですいません。一番簡単なサンプル Hello World すら実行できなくなった。
なぜかうまくいきません。今日一日悩みましたが解決できませんでした。
Windowsも再起動してみたのですが、だめでした。
どこが悪いのでしょうか?
ソースコードは Hello.java

コード:

public class Hello
{
	public static void main(String[] args)
	{
		System.out.println("Hello");
	}
}
コマンドプロンプトにてコンパイル
javac Hello.java
これはエラーなし。問題なし。

次に実行。
java Hello
と実行すると、
エラー:メイン・クラスHelloを検出およびロードできませんでした
原因:java.lang.ClassNotFoundException: Hello
とエラーがでます。

ディレクトリ操作は行っておらずファイル構造は
java\javabook\part2/var/Hello.java
java\javabook\part2/var/Hello.class
となっており、コマンdプロンプトは
java\javabook\part2/var
にあります。

どうすればいいのでしょうか?

にほ
記事: 17
登録日時: 6年前
連絡を取る:

Re: java すいません Hello world

#2

投稿記事 by にほ » 5年前

提示されたコードを実行してみましたが、Helloと表示されるだけでした。見たところもエラーらしきところは見当たらないので、環境によるものだとも考えられます

使用しているJavaのバージョンは何ですか?
エラー:メイン・クラスHelloを検出およびロードできませんでした
原因:java.lang.ClassNotFoundException: Hello
とエラーがでます。
エラー文はこれですべてでしょうか?
そうでなければ、全文表記してくださるともしかしたら対処できるかもしれません。


以下私が思いつく範囲の対処法です。

再コンパイルしても同じメッセージが表示されますか?

ファイル名に全角文字などは入っていませんか?

新規ファイルを作って同じソースコードで実行しても同様のエラーが出ますか?

ファイルの文字コードを変更しても同じエラーが出ますか?

かずま

Re: java すいません Hello world

#3

投稿記事 by かずま » 5年前

java -classpath . Hello でどうなりますか?

echo %CLASSPATH% で何と表示されますか?

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: java すいません Hello world

#4

投稿記事 by ISLe » 5年前

Javaは最近、セキュリティ上の問題から、カレントディレクトリのclassを無条件でロードしないようになりました。
正確には、デフォルトのクラスパスに.(カレントディレクトリ)を含まない仕様に変更されました。

カレントディレクトリにあるclassファイルをロードしたい場合、-cpオプションでクラスパスを明示してください。
java -cp . Hello

dic
記事: 655
登録日時: 13年前
住所: 宮崎県
連絡を取る:

Re: java すいません Hello world

#5

投稿記事 by dic » 5年前

>>にほさん
文字コードまで調べたのですがダメでした。
なので、ここで質問させていただいてます。

javaのバージョンは
java version "10.0.1" 2018-04-17 です。最新(多分)です。

====================================================================
>>かずまさん
>>java -classpath . Hello でどうなりますか?
Helloと表示されました。

>>echo %CLASSPATH% で何と表示されますか?
c:\User\user\Documents\java\apache-tomcat-8.5.32\lib\servlet-api.jar
です。
サーブレットやってました。

=====================================================================
>>ISLeさん
java -cp . Hello
でうまく Hello と表示されました。

javaが最新のため、ISLeさん、かずまさんがおっしゃるとおり、
クラスパスを指定するとうまく動作しました。

そんな仕様変更があったんですね。知らなかった。
解決しました。ありがとうございました。
オフトピック
解決ボタンどこいったのかな?・・・

返信

“C言語何でも質問掲示板” へ戻る