Java中错误ClassDefNotFound的解决方案

时间:2013-11-16 07:17:18

标签: java makefile noclassdeffounderror

我有五个类文件Servant.class, Server.class, Client.class, TransferRequest.class and TransferResponse.class。我的Makefile位于下方。我的任何类文件都有此错误:

VM初始化期间发生错误

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

我该如何应对此错误?我真的尝试过这里写的所有解决方案,例如改变路径或某事。这个makefile也是第5或第6个。其他众所周知的makefile也给出了同样的错误。我在Windows机器上使用cygwin。

生成文件:

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

all: $(classes)

clean :
    rm -f *.class

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

2 个答案:

答案 0 :(得分:0)

将一个类路径(带-cp)选项添加到您的javac。

JAVAC=javac -cp "$CLASSPATH"

或者你可以改变

$(JAVAC) $<

添加类路径

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

答案 1 :(得分:0)

这是javac的一个问题。您的make文件中缺少某些内容,或者您​​的Java安装已损坏。

了解是否可以手动编译文件并使用javac缩小范围。