ディレクトリ内のすべてのファイルを* .classファイルにコンパイルするにはどうすればよいですか?
UNIXで「find」を使用するさらに別の方法をここで説明します。
http://stas-blogspot.blogspot.com/2010/01/compile-recursively-with-javac.html
次の2つのコマンドは、ディレクトリ./src
とそのサブディレクトリに含まれるすべての.Javaファイルをコンパイルします。
find ./src -name *.Java > sources_list.txt
javac -classpath "${CLASSPATH}" @sources_list.txt
まず、find
はsources_list.txt
を生成します。これは、Javaソースファイルへのパスを含むファイルです。次に、javac
は、を使用してこれらすべてのソースをコンパイルします。構文@sources_list.txt
。
これは、プロジェクト全体をビルドするために使用するコードフラグメントです。通常、ソースファイルは深くネストされた階層にあり、クラスパスに入れる必要のある.jarファイルが多数あります(UNIXユーティリティが必要です)。
CLASSPATH=
for x in $(find | grep jar$); do CLASSPATH="$CLASSPATH:$x"; done
SRC=$(find | grep Java$)
javac -cp "$CLASSPATH" $SRC