1

これが、外部ライブラリを使用するファイルをコンパイルして実行する方法だと思います。私はWindowsを使用しています。

top level directory
|
|-log4-1.2.17.jar
|-MyApp.java
|-com
     |-foo
          |-Bar.java

コンパイル

javac -cp log4j-1.2.17.jar;. com\foo\Bar.java
javac -cp log4j-1.2.17.jar;"com\foo";. MyApp.java

実行中

java -cp log4j-1.2.17.jar;"com\foo";. MyApp

コンパイル自体が失敗しました。

4

3 に答える 3

0

Javaクラスパスに現在のディレクトリを含める

java -cp log4j-1.2.17.jar;. MyApp

なぜ現在のディレクトリを含める必要があるのですか

The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.
于 2012-09-04T11:03:58.157 に答える
0

Yはローカルディレクトリを含める必要があります。現在のディレクトリでそれを実行したい場合は、次のようになります。

javac -cp .;log4j-1.2.17.jar Bar
于 2012-09-04T11:05:13.707 に答える
0

すべてのプロジェクトをコンパイルするためのシンプルなバッチスクリプト

set COMPILED_CLASSES=.\
set TEMP_FILE=temp
dir .\*.java /s /B > %TEMP_FILE%
javac -classpath log4j-1.2.17.jar;%COMPILED_CLASSES% -d %COMPILED_CLASSES% @%TEMP_FILE%
rm %TEMP_FILE%

それをトップレベルのディレクトリに追加し、
EDIT
をステップバイステップ で実行します

javac ./com/foo/Bar.java -classpath log4j-1.2.17.jar  

javac ./MyApp.java -classpath log4j-1.2.17.jar;./  

走る

java -classpath log4j-1.2.17.jar;./ MyApp  
于 2012-09-04T11:05:36.970 に答える