2011-10-09 28 views
2

我試圖建立我的項目在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

+0

是否確定您設法將編譯器更改爲1.5+?你是如何確認的? – Saket

+0

@Saket:錯誤表明編譯器是泛型感知的,但它認爲該類型不帶參數。 – SLaks

+0

哇,這個似乎是OpenJDK中的一個bug。 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/swing/DefaultListModel.java 至少它在6b14 – Klamann

回答

0

你指定在構建命令行-target水平?