我有以下文件夹结构:
l_append
--LogAppend.java
--User.java
l_read
--LogRead.java
makefile
gson.jar
makefile 看起来像:
LIBRARY_PATHS = gson.jar
CLASS_FILES = l_append/LogAppend.class l_append/User.class l_read/LogRead.class
Default: $(CLASS_FILES) create_bin
%.class: %.java
$(JC) -cp .:$(LIBRARY_PATHS) $<
create_bin:
jar -cvmf MANIFEST_LA.MF logappend.jar l_append/LogAppend.class
cat stub.sh logappend.jar > logappend && chmod +x logappend
jar -cvmf MANIFEST_LR.MF logread.jar l_read/LogRead.class
cat stub.sh logread.jar > logread && chmod +x logread
clean:
$(RM) l_read/*.class l_append/*.class log*
LogAppend.java
import com.google.gson.Gson;
....
Gson gson = new Gson();
在我运行 make 命令并想使用 LogAppend 后,我得到了
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/Gson
at l_append.LogAppend.writeToLog(LogAppend.java:165)
at l_append.LogAppend.main(LogAppend.java:90)
Caused by: java.lang.ClassNotFoundException: com.google.gson.Gson
有什么我可以尝试的建议吗?