在 Javac 命令中的 makefile 中导入多个库

Import multiple libraries in makefile within Javac command

问题

这是我刚刚在 java、Windows 中使用 makefile 时遇到的问题。 我想用多个路径(库等)设置我的 classpath。新命令手动工作,但不是来自 makefile,这会引发此错误:

javac : no source files

例子

假设我有这个 makefile :

JFLAGS = -g
JARFLAGS = -cvfm

CLASSPATH = ./bin
LIBS = C:/java/lib/mylib.jar

SOURCEPATH = ./src/client

compileAll:
    javac $(JFLAGS) -d $(CLASSPATH) -cp $(CLASSPATH)\;$(LIBS) $(SOURCEPATH )/*.java
    jar $(JARFLAGS) app.jar bin/client/MANIFEST.MF bin/client/*.class

所以编译项目的命令行是:

javac -g -d ./bin -cp ./bin;C:/java/libs/lib.jar ./src/client/*.java

效果很好。 class 文件进入 ./bin 目录。它从 ./bin 和 lib.jar 库中导入 classes。它会编译 ./src/client 目录中的所有源文件。

这个命令手动运行完美,但不能从不编译任何东西的 makefile 运行。

感谢我的文本编辑器为“;”着色字符,我知道我只需要 转义(禁用)';'使用 '\' :

字符
javac -g -d ./bin -cp ./bin\;C:/java/libs/lib.jar ./src/client/*.java

现在,它在 makefile 中运行良好!