25

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

javac mainjava.java    

次のエラーが発生します

mainjava.java:14:シンボルシンボルが見つかりません
:クラスサブクラス

ここで、SubClassは、Webサービスを呼び出すために使用されるもう1つのJavaクラスファイルです。

引数を渡してプログラムを実行するにはどうすればよいですか?

4

5 に答える 5

23

javacJavaコンパイラです。javaJVMであり、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メインarg1arg2

于 2012-08-15T08:04:28.637 に答える
15

非常に一般的なコマンドプロンプトでJavaを使用する方法は次のとおりです。

javac mainjava.java
java mainjava

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

javac *.java
java mainjava

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

于 2012-08-15T08:02:26.223 に答える
3

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

于 2012-08-15T08:00:11.753 に答える
2

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

  • クラスパスがある場合はそれを使用して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。

于 2012-08-15T08:15:53.863 に答える
1

javacはコードをコンパイルするだけです。コードを実行するには、javaコマンドを使用する必要があります。 エラーは、クラスパスをコンパイルしようとしたときに、クラスパスにクラスサブクラスiが含まれていないためです。javacコマンドで-cp変数を使用してそれらを追加する必要があります

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

于 2012-08-15T08:02:30.510 に答える