web-dev-qa-db-ja.com

コマンドプロンプトでJavaプログラムを実行する方法

Webサービスを呼び出すためにJavaプロジェクトを作成しました。1つのMain Javaファイルと別のクラスファイルがあります。HTTPクライアントにいくつかのjarファイルを使用しました。
Eclipseでは正常に動作します。引数を渡すことにより、コマンドプロンプトでJavaプログラムを実行する必要があります。
コマンドプロンプトで、メインJavaおよびサブクラスJavaファイルを含むsrcフォルダーに移動し、次のコマンドを指定しました

javac mainjava.Java    

次のエラーが発生します

mainjava.Java:14:シンボルが見つかりません
symbol:class SubClass

ここでSubClassは、Webサービスの呼び出しに使用される別のJavaクラスファイルです。

引数を渡してプログラムを実行する方法は?

22
Vignesh

javacはJavaコンパイラです。JavaはJVMであり、Javaプログラムを実行するために使用するものです。 .Javaファイルを実行するのではなく、単なるソースファイルですEclipseでビルドした製品である.jarがどこかに(または.classファイルを含むディレクトリ)あると考えられます。

 Java/src/com/mypackage/Main.Java 
 java/classes/com/mypackage/Main.class 
 Java/lib/mypackage.jar 

ディレクトリJavaから実行:

Java -cp lib/mypackage.jar Main arg1 arg2

22
hmjd

非常に一般的なコマンドPrompt how to for Javaは

javac mainjava.Java
java mainjava

あなたは非常に頻繁に人々がやっているのを見るでしょう

javac *.Java
java mainjava

クラスパスからパスが欠落しているために発生している可能性のあるサブクラスの問題については、-cフラグを使用して設定しています。

14
Shrewd

javac *.Javaコマンドを使用して、すべてのJavaソースをコンパイルできます。また、成功するコンパイルのために適切なクラスパスを設定する必要があると思われるため、クラスパスについて少し学ぶ必要があります(IDEはWebServiceクライアントの構築にいくつかのライブラリを使用するため)。また、IDEコマンドを使用してプロジェクトをビルドすることをお勧めします。

2
gkuzmin

あなたがする必要があるのは:

  • クラスパスがあれば、そのパスを使用してmainjavaクラスをビルドします(オプション)

    javac * .Java [-cp "wb.jar;"]

  • コンテンツを含むManifest.txtファイルを作成:

    メインクラス:mainjava

  • Mainjavaクラスのjarファイルをパッケージ化する

    jar cfm mainjava.jar Manifest.txt * .class

次に、この.jarファイルをcmdからクラスパス(オプション)で実行し、引数を入力します。

Java [-cp "wb.jar;"] mainjava arg0 arg1 

HTH。

1
Thinhbk

javacはコードのみをコンパイルします。コードを実行するには、Javaコマンドを使用する必要があります。エラーは、クラスパスにクラスが含まれていないためですSubclass i javacコマンドで-cp変数を使用して追加します

Java -cp classpath-entries mainjava arg1 arg2は2つの引数を使用してコードを実行する必要があります

1