我试图建立我的项目在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