Makefile for Java无法找到包

时间:2010-10-31 14:24:27

标签: java makefile

您好我是Java开发的新手。我试着编写一个应该在Linux中运行的makefile:

JFLAGS = -g

JC = javac

.SUFFIXES: .java .class

.java.class:

 $(JC) $(JFLAGS) $*.java



Heap.class: FibonacciHeap.java \
    FileOperation.java \
    MinLeftistTree.java \
    RandomPermutation.java \
   Heap.java 
default: classes
classes: $(CLASSES:.java=.class)
clean:

 $(RM) *.class

在我的假设中,Heap.class应该依赖于所有其他java文件。此外,主文件也应该在其中。

然而,我无法让它运行,它显示

    Heap.java:3: package heap.FibonacciHeap does not exist

并且无法从其他java文件中找到其他引用,例如

Heap.java:61: cannot find symbol symbol  : variable RandomPermutation location: class heap.Heap
       list = RandomPermutation.GetList(listnum[route]);

这个程序在日食中运行良好。你有什么建议吗?

我是新手,我可能犯了一些错误......我对编译器和make文件了解不多。如果你能指出来,我将不胜感激!

1 个答案:

答案 0 :(得分:0)

我看不到你在哪里设置CLASSPATH。我不在乎它是一个make文件还是Ant - javac.exe和java.exe期望在运行时设置CLASSPATH。你的位置在哪里?

我相信你必须在运行javac.exe之前在makefile中设置CLASSPATH。

我暂时忘记了make(和Eclipse)。你能让这个项目在命令shell中编译和运行吗?如果你不能,我会说你不应该依靠任何工具来帮助你。

阅读this可能会有所帮助。

是否真的需要完成这项任务?教授如何知道您使用Eclipse或make或Ant或命令shell将.java编译为.class文件?