我有这个测试班
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
它只能应用于字段或方法,而不能应用于方法参数。看见
@Retention(RUNTIME) @Target({FIELD, METHOD})
public @interface XmlElement {
编辑:XmlElement的源(JDK 1.6.0_18)
* @since JAXB2.0
* @version $Revision: 1.19 $
*/
@Retention(RUNTIME) @Target({FIELD, METHOD})
public @interface XmlElement {
所以我看到的是1.6.0_18版本有1.19版本的XmlElement,只有FIELD和
METHOD
目标可用。
编辑:所以您的问题是jdk 1.6 XmlElement与jaxb.2.2不同。您可以在以下位置查看源代码:http://grepcode.com/file/repo1.maven.org/maven2/javax.xml.bind/jaxb-api/2.2.4/javax/xml/bind/annotation/XmlElement.java?av=f
使用“认可库”文件夹的概念。看看这里:如何让Ant使用JAXB x而不是Java6个SE JAXB类…
基本上,这是一种指示JRE使用最新版本的JAXB的方法。
您可以在此处阅读更多内容: JAXB 非官方指南:将 JAXB 2 与 SE 6 一起使用 另请参阅以下问题:在 JRE 6 中使用认可目录的确切方法是什么
使用 Java 认可标准覆盖机制
把你的 2.2.2.4.jar
放进去
或者,使用-D Java . approved . dirs选项
< code > javac-DJ ava . approved . dirs =/your/path/to/JAXB-directory compile test . Java
参考资料:< br > http://docs . Oracle . com/javase/6/docs/technotes/guides/standards/
问题内容: 您可以在Python中执行此操作,但是在PHP中可以吗? 例如: 问题答案: 这 有点 晚了,但我只想指出,自PHP 5.3起,实际上有可能在不使用PHP扩展的情况下覆盖内部函数。 诀窍是您可以在名称空间内重新定义内部PHP函数。它基于PHP对函数进行名称解析的方式: 在名称空间(例如A \ B)内部,对不合格函数的调用在运行时解决。解决调用foo()的方法如下: 它从当前名称空间中查
我有int的向量,我需要找到并用特定的值替换一些元素。他们都是一样的 例如:将所有元素的4替换为8。 我正在尝试c中循环中的直接内存访问。但对我来说还是很慢。 更新: 我正在上使用OpenCV对象: 函数仅在释放模式下通过指针返回值
问题内容: 说我有两个JavaBeans 和。 如果创建一个Person对象的列表,我想编组成这样的东西: 可以使用这里描述的技术: 使用JAXB解组/编组List 通过使用和注释JaxbList,可以将其编组为上述XML。 但是,能够重用相同的类来封送对象列表也很好。实际上,我将有许多其他类型的bean。我可以这样: 但是,理想情况下,最好用类名的复数形式替换“列表”,用类名替换“ item”。
我计划开发一个基于web的聊天应用程序,它接收ReSTful请求,将它们转换为XMPP,并将它们发送到XMPP服务器。 在这种基于聊天的应用程序中使用WebSocket看起来很有希望,因为事件(或响应)可以异步传递。但是,如果我使用WebSocket作为从浏览器传输请求的底层协议,这仍然可以被视为ReSTful设计吗?如果是的话,URI、动词(GET、POST…)是怎样的,websocket消息中
问题内容: 我希望我的android应用程序的用户可以选择向我发送任何使我的应用程序崩溃的未捕获异常的stacktrace。本来我以为我会将每个进入点包装到我的应用程序中,放在try / catch块中,但是即使在我的小型应用程序中,也有太多这样的事情,这才是合理的。 因此,我真正寻找的是一种将某些方法指定为任何未捕获的异常的默认处理程序的方法。有什么建议? 问题答案: 您不能执行主题行在SDK应
在过去的几天里,我一直在为我的浏览器扩展写一些代码,我一直在转换网站上的价格。 到目前为止,我意识到我可以通过文档.QuerySelectionAll('.Price__Blocks')从技术上获得价格数组,但它不允许我的代码运行,因为它给出了一个错误:vm8032:2 uncatted typeerror:nodes[I].replace不是一个函数在:2:38 null null null n