【发布时间】:2013-04-19 09:16:34
【问题描述】:
我有这个测试课
import javax.xml.bind.annotation.XmlElement;
class CompileTest {
void foo( @XmlElement String in ) {
}
}
我的java版本是
$ java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)
当我尝试编译该类时,我得到了
javac CompileTest.java
CompileTest.java:5: annotation type not applicable to this kind of declaration
void foo( @XmlElement String in ) {
^
1 error
这对 Java 6 有效。当我尝试将更新的 JAXB 库添加到类路径时,它没有帮助。有没有办法解决这个问题?
javac -cp jaxb-api-2.2.4.jar CompileTest.java
【问题讨论】:
-
错误来自编译器,实际上来自不同(较新)版本的语言。所以更换罐子将没有效果。只是好奇,你为什么不使用 Java 6?
-
我不明白。 “......来自不同(较新)版本的语言......”,什么? “只是好奇,你为什么不使用 Java 6?”我是,也许应该是 Java 7,这是因为我们无法从 6 迁移到 7,而实际生产中的 Java 6...
-
@Betlista - 类似的问题和解决方案在stackoverflow.com/questions/8211420/…
-
@AndyThomas-Cramer 这正是我要找的...