我有一个makefile来编译几个.java文件。它似乎可以很好地定位文件。但是,当它试图编译第一个java文件时,它会说找不到State的symbol。State是一个接口,也是我的项目中唯一的接口。
javac src/hw4/ClosedState.java
src/hw4/ClosedState.java:3: error: cannot find symbol
public class ClosedState implements State {
^
symbol: class State
src/hw4/ClosedState.java:6: error: cannot find symbol
public void doAction(Context context) { context.setState(this); }
^
symbol: class Context
location: class ClosedState
src/hw4/ClosedState.java:5: error: method does not override or implement a method from a supertype
@Override
^
3 errors这是我的makefile:
JAVAC=javac
sources = $(shell find ./src/hw4/ -type f -name '*.java')
classes = $(sources:.java=.class)
all: myProgram jar clean
myProgram: $(classes)
clean :
rm -f *.class
%.class : %.java
$(JAVAC) $<
jar: $(classes)
jar cvf dl.jar $(classes)'hw4‘是包名,我从src目录外部运行makefile。
发布于 2021-12-04 12:37:46
使用-cp选项获得它:
-cp ./srchttps://stackoverflow.com/questions/70225549
复制相似问题