0

これを解決するには?コンパイルはできますが、実行できません。と の異なるバージョンがjavacありjavaます。.java端末でファイルを実行しようとしています。しかし、それは日食で動作します。バージョンがこれに影響することはわかっています。アップグレードするにはjavac?もし私がそうすれば、それは私の日食に影響を与えますか? ありがとう。;)

[clemjon@localhost ~]$ javac -version

javac 1.6.0_20


[clemjon@localhost ~]$ java -version

java version "1.6.0_21"

Java(TM) SE ランタイム環境 (ビルド 1.6.0_21-b06) Java HotSpot(TM) サーバー VM (ビルド 17.0-b16、混合モード)

4

2 に答える 2

0

javacこれは、とのバージョンが異なる場合の問題ではありませんjava。ここでの問題は、完全修飾名 ( ) が( )com.pl.casestudy.Firstに渡したクラス名と一致しないクラス ファイルを実行しようとしていることです。同じバージョンのとがある場合、同じエラーが発生します。javaFirstjavacjava

という名前のクラスがある場合com.pl.casestudy.First、Java はその名前のファイルでそれを探します(Windows ユーザーは、スラッシュの方向を逆にしてもかまいません)。そのため、サブディレクトリを含むディレクトリからクラスcom/pl/casestudy/First.classを実行する必要があります。スタック トレースのシェル プロンプトから、 という名前のディレクトリがあることがわかります。と親ディレクトリも存在すると仮定します。Eclipse がおそらくそれらを作成してくれます。Firstcomcasestudycompl

cdを含むディレクトリに移動してcom、を使用してコンパイルしてみてください

javac com/pl/casestudy/First.java

を使用して実行しています

java com.pl.casestudy.First
于 2013-10-08T08:15:02.017 に答える