[英]Ant build fails because of generics - and only on linux
我試圖在debian上構建我的項目(實際上,哈德森將其構建),但構建失敗:
[javac] (...)/src/vbp/gui/GUI.java:1569: type javax.swing.DefaultListModel does not take parameters
[javac] private javax.swing.DefaultListModel<String> listModelInput;
[javac] ^
好吧,問題是,DefaultListModel應該能夠處理泛型。
如果我使用ant在Windows機器上運行構建,則編譯完全正常,僅在debian上不起作用。 Ant版本是1.8.0,JDK是OpenJDK 1.6。
我的第一個想法是,Ant以某種方式使用jdk 1.4或某種方式來編譯代碼(因為編譯錯誤是關於泛型的),實際上它是由netbeans生成的build-script編寫的,但是當我更改時到1.5或1.6沒什么變化(如果有幫助的話,這真的很奇怪,因為我得到的唯一錯誤是與此DefaultListModel類有關)。
我真的不知道這是怎么回事。 也許我發現了一個錯誤,但該修復程序不在debian軟件存儲庫中...
您可以在這里簽出項目: https : //github.com/Klamann/Video-Batch-Processor
希望你能幫助:)
編輯:
好的,這確實是OpenJDK 6中的錯誤。已在OpenJDK 7中解決。
public class DefaultListModel extends AbstractListModel // JDK6 implementation
public class DefaultListModel<E> extends AbstractListModel<E> // JDK7 implementation
他們只是忘記了<E> ...
好吧,至少我發現了我最喜歡的編程語言中的第一個錯誤:D
您是否在構建命令行中指定了-target
級別?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.