Webサービスを呼び出すためにJavaプロジェクトを作成しました。1つのMain Javaファイルと別のクラスファイルがあります。HTTPクライアントにいくつかのjarファイルを使用しました。
Eclipseでは正常に動作します。引数を渡すことにより、コマンドプロンプトでJavaプログラムを実行する必要があります。
コマンドプロンプトで、メインJavaおよびサブクラスJavaファイルを含むsrcフォルダーに移動し、次のコマンドを指定しました
javac mainjava.Java
次のエラーが発生します
mainjava.Java:14:シンボルが見つかりません
symbol:class SubClass
ここでSubClassは、Webサービスの呼び出しに使用される別のJavaクラスファイルです。
引数を渡してプログラムを実行する方法は?
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
非常に一般的なコマンドPrompt how to for Javaは
javac mainjava.Java
java mainjava
あなたは非常に頻繁に人々がやっているのを見るでしょう
javac *.Java
java mainjava
クラスパスからパスが欠落しているために発生している可能性のあるサブクラスの問題については、-cフラグを使用して設定しています。
javac *.Java
コマンドを使用して、すべてのJavaソースをコンパイルできます。また、成功するコンパイルのために適切なクラスパスを設定する必要があると思われるため、クラスパスについて少し学ぶ必要があります(IDEはWebServiceクライアントの構築にいくつかのライブラリを使用するため)。また、IDEコマンドを使用してプロジェクトをビルドすることをお勧めします。
あなたがする必要があるのは:
クラスパスがあれば、そのパスを使用して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。
javacはコードのみをコンパイルします。コードを実行するには、Javaコマンドを使用する必要があります。エラーは、クラスパスにクラスが含まれていないためですSubclass i javacコマンドで-cp変数を使用して追加します
Java -cp classpath-entries mainjava arg1 arg2
は2つの引数を使用してコードを実行する必要があります