我想在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