我想在Unix(Solaris要具体)编译一个Java项目(的Lisp解释器的)。我的问题是我有一些扩展其他类的类,但是当javac试图编译扩展类时,它说它找不到超类。javac - 超类没有找到
命令I型:
javac -g LispObject.java
javac -g Sexp.java
第一个正常工作;但具有下列错误的第二暂停:
Sexp.java:7: Superclass interpreter.LispObject of class interpreter.Sexp not found.
public class Sexp extends LispObject
^
1 error
(我不知道这是非常相关的,但是这是一个一流的项目,所以我必须使用makefile中编译,所以我不能使用任何的IDE的编辑......这吮吸,因为一切都在NetBeans中运行良好)
代码LispObject.java
:
package interpreter;
public class LispObject extends java.lang.Object
{
// empty
}
代码Sexp.java
:
package interpreter;
public class Sexp extends LispObject
{
// body stuff goes here
}
一次给所有的文件似乎正在工作;你知道是否有办法用makefile来做到这一点? – 2011-05-18 16:12:12
更好的选择是使用'-cp'指定构建的'.class'文件的位置。 (并且也使用'-d build_directory',这样'.class'文件就不会与''混在一起。java'文件) – Mat 2011-05-18 16:13:43
对不起-1,但这并没有解决真正的问题:你不是从软件包根目录,而是从软件包层次结构中构建。 – 2011-05-18 17:32:14