代码段如下:
$(shell javac $(MY_PATH)/test/TestFile.java)
$(shell java -cp $(MY_PATH)/test/ TestFile)
开头没有空格或标签。我得到的错误是 * 缺少分隔符。停止。
错误仅在第二行出现,而不在第一行。
基本上我的TestFile不在java路径中 我在这里尝试了所有的解决方案,但没有人帮助我。我猜这个错误与我提供的目录路径有关。相同的代码段在Windows中使用cmd提示符,但在linux机器中不能使用。无法确定问题所在。请帮助。感谢。
答案 0 :(得分:1)
这就是makefile应该如何使用:
.PHONY: run
JAVAC:=javac
JAVA:=java
TARGET:=TestFile
SOURCES:=TestFile.java
OBJS:=$(patsubst %.java, %.class, $(SOURCES))
$(TARGET): $(OBJS)
%.class: %.java
$(JAVAC) $^
run: $(TARGET)
$(JAVA) $(TARGET)
make run
将编译并运行。 make
只会编译。当然,所有这些都可以设置为一个目标,但最好不要这样做。