Hap*_*eer 8 java maven-2 exception jaxb
我正在尝试使用jaxb序列化异常的解决方案.(http://forums.java.net/jive/thread.jspa?messageID=256122)
我需要为该解决方案实现的类需要引用以下com.sun类.
import com.sun.xml.internal.bind.v2.model.annotation.AbstractInlineAnnotationReaderImpl;
import com.sun.xml.internal.bind.v2.model.annotation.Locatable;
import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader;
import com.sun.xml.internal.bind.v2.model.annotation.RuntimeInlineAnnotationReader;
Run Code Online (Sandbox Code Playgroud)
当我在Eclipse中编译并运行我的代码时,它工作正常.但是当我使用Maven编译代码时,它无法抱怨com.sun包,例如"package com.sun.xml.internal.bind.v2.model.annotation不存在".
eclipse和maven都使用JDK 1.6,所以我不明白为什么会这样.JDK中不是那些com.sun类吗?
编辑:我最终决定它是不可能的.我只是创建了一个新的bean并复制了我需要的信息并使用了它.
Ric*_*ler 18
如果一个类在com.sun.*包中,它只是意味着它是由Sun开发的,而不是它是JDK的一部分.
JDK中的Sun类是前缀sun.*并且不是公共支持的接口的一部分,因此应谨慎使用.来自太阳常见问题:
Sun在Java 2 SDK标准版中包含的类属于包组java.,javax.,org.*和太阳..除了太阳以外的所有.软件包是Java平台的标准部分,将来会得到支持.一般来说,包如太阳.,在Java平台之外,可以在OS平台(Solaris,Windows,Linux,Macintosh等)上有所不同,并且可以随时更改SDK版本(1.2,1.2.1,1.2.3等),恕不另行通知).包含直接调用太阳的程序.包不是100%纯Java.换一种说法:
java.,javax.Java 2平台标准版API规范中记录的org.*包构成了官方支持的公共接口.
如果Java程序直接只调用这些包中的API,它将在所有兼容Java的平台上运行,而不管底层的OS平台如何.
sun.*包不是受支持的公共界面的一部分.
直接调用sun.*包的Java程序不能保证在所有兼容Java的平台上运行.实际上,即使在同一平台上的未来版本中,也不能保证这样的程序能够工作.
话虽如此,您列出的那些类在以下工件中的JBoss存储库中可用:
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19906 次 |
| 最近记录: |