1

提案された回答を検索しましたが、有効な回答が見つかりませんでした。Makefile はすべてのエラーをコンパイルしますが、Java プログラムを実行しようとするとエラーが発生Could not find main class bin.Program.classします プログラムを単独でコンパイルしようとしても、同じエラーが発生します。複数の.javaファイルがあり、それらには異なるクラスがあり、 directory で 1 つのライブラリ (.jar) ファイルを使用していますlib/。それがないと、Java コンパイラーは複数のエラーを出します。

SRC = src
LIBDIR = lib
BIN = bin
JAVA_FILES=${wildcard ${SRC}/*.java}
CLASS_FILES=${JAVA_FILES:${SRC}/%.java=${BIN}/%.class}
CLASSPATH="${LIBDIR}/*"
all: run
run: ${CLASS_FILES}
     java ${CLASS_FILES} -cp ${CLASSPATH}
${CLASS_FILES}: ${JAVA_FILES}
     javac $^ -d ${BIN} -cp ${CLASSPATH}

Eclipse はプログラムを正常にコンパイルして実行し、Program.java にはメイン クラスがあります。

4

2 に答える 2

0

与えられた答えで、それは本当に役に立ちました.makefileは次のようになり、動作します:

SRC = src
LIBDIR = lib
BIN = bin
JAVA_FILES=${wildcard ${SRC}/*.java}
CLASS_FILES=${JAVA_FILES:${SRC}/%.java=${BIN}/%.class}
CLASSPATH="${LIBDIR}/*"
all: run
run: ${CLASS_FILES}
     java -cp ${BIN}:${LIBDIR}/* Program
${CLASS_FILES}: ${JAVA_FILES}
     javac $^ -d ${BIN} -cp ${CLASSPATH}
于 2013-06-07T19:06:34.380 に答える