我试图在debian上构建我的一个项目(实际上,hudson构建了它),构建失败:
[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生成的构建脚本中编写的,但是当我将其更改为1.5或1.6时,什么都没有改变(如果它有帮助,那将是非常奇怪的,因为我得到的唯一错误是这个DefaultListModel类)。
我真的不知道这是怎么回事。也许我发现了一个错误,而修复方法不在debian软件存储库中…
你可以在这里查看这个项目:https://github.com/Klamann/Video-Batch-Processor
希望你能帮上忙:)
编辑:
好吧,这确实是OpenJDK 6中的一个bug。在OpenJDK 7中解决了这个问题。
public class DefaultListModel extends AbstractListModel // JDK6 implementation
public class DefaultListModel<E> extends AbstractListModel<E> // JDK7 implementation
他们只是忘记了
好吧,至少我发现了我最喜欢的编程语言的第一个bug:D
您是否在构建命令行中指定了-target
级别?