我試圖建立我的項目在Debian(事實上,哈德森建立它),生成失敗:Ant構建失敗,因爲仿製藥的 - 只有在Linux上
[javac] (...)/src/vbp/gui/GUI.java:1569: type javax.swing.DefaultListModel does not take parameters
[javac] private javax.swing.DefaultListModel<String> listModelInput;
[javac] ^
好了,問題是的,DefaultListModel應該能夠處理泛型。
如果我正在用螞蟻在windows-machine上運行build,它編譯得非常好,只有在debian上它不起作用。 Ant版本是1.8.0,JDK是OpenJDK 1.6。
我的第一個想法是Ant以某種方式使用jdk 1.4或其他東西來編譯代碼(因爲編譯錯誤是關於泛型的),實際上它是由netbeans生成的構建腳本編寫的,但是當我已經改變了1.5或1.6沒有改變(如果它會有所幫助,這將是非常奇怪的,因爲我得到的唯一錯誤就是使用這個DefaultListModel類)。
我真的不知道這是關於什麼。也許我發現一個bug,修復只是沒有在Debian的軟件庫...
您可以檢查出這裏的項目: https://github.com/Klamann/Video-Batch-Processor
希望你能幫助:)
編輯:
OK,這真的是在OpenJDK的6中的錯誤它在OpenJDK的7
public class DefaultListModel extends AbstractListModel // JDK6 implementation
public class DefaultListModel<E> extends AbstractListModel<E> // JDK7 implementation
解決3210
他們只是忘記了<é> ...
嗯,至少我找到了我的第一個錯誤在我最喜歡的編程語言:d
是否確定您設法將編譯器更改爲1.5+?你是如何確認的? – Saket
@Saket:錯誤表明編譯器是泛型感知的,但它認爲該類型不帶參數。 – SLaks
哇,這個似乎是OpenJDK中的一個bug。 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/swing/DefaultListModel.java 至少它在6b14 – Klamann