Makefile无法在包中找到类

时间:2014-02-03 04:12:15

标签: java compiler-construction makefile package

我正在尝试为我的java程序创建一个makefile。该程序在我的IDE中正确编译。这是我的makefile的样子。

JAVAC=javac
sources = $(wildcard */*/*/*.java)
classes = $(sources:.java=.class)
all: $(classes)
clean :
    rm -f */*/*/*.class
%.class : %.java
    $(JAVAC) $<

当我运行它时,它找到的第一个文件编译得很好,但是在第二个文件上它会失败。第一个文件恰好是接口,第二个文件是该接口的实现。这是错误消息。

javac p1/p2/event/Event.java
javac p1/p2/event/RegisterEvent.java
p1/p2/event/RegisterEvent.java:7: error: cannot find symbol
public class RegisterEvent implements p1.p2.event.Event {
                                                     ^
symbol:   class Event
location: package p1.p2.event
1 error
make: *** [p1/p2/event/RegisterEvent.class] Error 1

为什么我在编译时找不到课程?

1 个答案:

答案 0 :(得分:0)

您需要将类路径添加到javac命令。

javac -cp . p1/p2/event/Event.java

这样的东西