java すいません Hello world

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: java すいません Hello world

Re: java すいません Hello world

#5

by dic » 11ヶ月前

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

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さん、かずまさんがおっしゃるとおり、
クラスパスを指定するとうまく動作しました。

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

Re: java すいません Hello world

#4

by ISLe » 11ヶ月前

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

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

Re: java すいません Hello world

#3

by かずま » 11ヶ月前

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

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

Re: java すいません Hello world

#2

by にほ » 11ヶ月前

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

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


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

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

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

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

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

java すいません Hello world

#1

by dic » 11ヶ月前

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
にあります。

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

ページトップ