java - Java中ClassDefNotFound错误的解决方法

标签 java makefile noclassdeffounderror

我有五个类文件Servant.class、Server.class、Client.class、TransferRequest.class 和 TransferResponse.class。我的 Makefile 位于下面。我的任何类文件都出现此错误:

VM初始化期间发生错误

java/lang/NoClassDefFoundError: java/lang/Object
Makefile:11: recipe for target 'TransferRequest.class' failed

我该如何处理这个错误?我真的尝试了这里写的所有解决方案,例如改变路径或其他东西。这个 makefile 也是第五个或第六个。其他众所周知的 makefile 也给出了同样的错误。我在 Windows 机器上使用 cygwin。

生成文件:

JAVAC=javac
sources = $(wildcard *.java)
classes = $(sources:.java=.class)

all: $(classes)

clean :
    rm -f *.class

%.class : %.java
    $(JAVAC) $<

最佳答案

向 javac 添加类路径(使用 -cp)选项。

JAVAC=javac -cp "$CLASSPATH"

或者你可以改变

$(JAVAC) $<

添加类路径

$(JAVAC) -cp "$CLASSPATH" $<

关于java - Java中ClassDefNotFound错误的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20015902/

相关文章:

java - 将java应用程序转换为jsp/servlet

JavaFx:从TableView获取新值和旧值

java - 如何从 Firebase 存储中检索图像的下载 URL?

java - org.postgresql.util.PSQLException : ERROR: column user0_. id 不存在 - hibernate

c++ - 在 Makefile.am 的 _SOURCE 中分配 c 和 cpp 文件

makefile - GNU 制作 : add a file as a dependency only if it doesn't exist yet

java - JSP 导入类实现不解析类型

java - 为什么我会收到 dbunit noclassdeffounderror 数据库连接?

go - 从项目 Makefile 中检测 GOPATH

android - 带有 KitKat 的 Android 设备上的 java.lang.NoClassDefFoundError