我想要編譯CDC CVM,原始檔為j2me_cdc-1_0-fcs-src-ar-22_Jan_2001.zip
因為這個release是for JDK1.3/readhat(我用JDK6)
所以我修改make設定檔如下
./cdcfoundation/jdk_build/linux/makefiles/Defs.gmak
_BOOTDIR = /usr/lib/jvm/java-6-sun
./linux/defs_linux.mk:
CVM_BOOTDIR = $(JDK_HOME)
./share/defs.mk:
JDK_HOME = /usr/lib/jvm/java-6-sun
./share/rules.mk:
JAVAC_CMD =
$(CVM_JAVAC) $(JAVAC_OPTIONS) -J-Xms32m -J-Xmx64m -source 1.3
CLASSPATH為
.:/usr/lib/jvm/java-6-sun/lib/:/usr/lib/jvm/java-6-sun/jre/lib/:
然後依說明在cdcfoundation/build/linux 執行make
錯誤訊息為
../../src/share/classes/java/io/ObjectInputStream.java:1323: cannot find
symbol
symbol : method initCause(java.lang.ClassNotFoundException)
location: class java.lang.NoClassDefFoundError
while (Serializable.class.isAssignableFrom(currclass))
^
Fatal Error: Unable to find method initCause
make: *** [.compile.btclasses] Error 3
研究很久還是無法解決
不知道是不是JDK版本的問題(因為initCause是JDK1.4才有)
但我已經設定javac參數為-source 1.3,不是應該行為與JDK1.3一樣嘛?
煩請解惑
謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.122.40
※ 編輯: dahanhsi 來自: 59.104.122.40 (10/25 23:52)