2016-11-12 19 views
0

これは初心者の質問です。コマンドラインからJavaプログラムを実行する際に問題が発生しています。私はWindows10を使用しています。 問題は次のとおりです。私は "folder1"という名前のフォルダを持っています。これは私のコンピュータのデスクトップにあります。したがって、完全なパスは C:\ Users \ Ioanna \ Desktop \ folder1 です。そのフォルダの中に私はfolder2という名前の2番目のフォルダを作成しました。ので、このパスは Cのようになります。フォルダ2インサイドクラスパスオプションでcmdからこのプログラムを実行できません

フォルダ2 \ Users \ユーザーIoanna \デスクトップ\ folder1の\私はそれをコンパイルし、-classpathを設定すると、このファイルを実行したい example.javaという名前のJavaファイルを持っていますオプションでcmdを使用します。私はパスを設定したり、環境変数からそのパスにフォルダを追加したくない。

私は

C:\Users\Ioanna\javac -cp C:\Users\Ioanna\Desktop\folder1\folder2 example.java 

をしようとしていますが、それはファイルが見つからないと言います。 私はいくつかの他の選択肢を試しましたが、プログラムをうまくコンパイルする方法を見つけることができません。

+0

あなたはC:\ Users \ユーザーIoanna \デスクトップ\ folder1の\フォルダ2? javacは正確に何を出力しますか? – Artem

答えて

1

(バイトコードへの)コードのコンパイルとコードの実行にはJavaで、2回に分けています。

まず、(私はあなたのフォルダパスが正しいと仮定しています)対応.classファイルを得るために、あなたの.javaをコンパイル

C:\Users\Ioanna\javac C:\Users\Ioanna\Desktop\folder1\folder2\example.java 

これは、あなたが同じフォルダ内にexample.classを与えるだろう。
次に、(それがmain()メソッドを持って提供される)、そのクラスを実行します。

C:\Users\Ioanna\java -cp C:\Users\Ioanna\Desktop\folder1\folder2 example 
+0

いいえ。javaは.classファイルへのパスを期待していません。完全修飾クラス名が必要であり、クラスパス内の対応する.classファイルを検索します。 –

+0

@JBNizetしたがって、私の例の指示はうまくいかないでしょうか? – watery

+0

最初のものがあります。 2番目はできません。サンプルクラスがデフォルトパッケージに入っていると仮定すると(これは悪い習慣です)、 'java -cp C:¥Users¥Ioanna¥Desktop¥folder1¥folder2 example'でなければなりません。 –

1

javaは、コンパイルするファイルのパスを予期します。 example.javaは現在のフォルダ(C:\ Users \ Ioanna)にありません。

使用

javac Desktop\folder1\folder2\example.java 
+0

ありがとうございました!それはコンパイルされました! example.classを実行するにはどうすればよいですか? –

+0

水の正しい答えが表示されます。 –

関連する問題