JAXB在Java 5下工作吗?
使用maven构建我得到“包javax.xml.bind.annotation不存在”
使JAXB与Java 5一起工作需要什么?
您可以从http://jaxb.dev.java.net/下载参考实现(RI)。
我不能告诉你如何使它与maven一起工作 – 如果你问我,比它的价值更麻烦。
Java6包含了一个稍微修改过的RI版本,但RI本身在Java5上运行得很好。
JAXB API捆绑在JDK1.6中,但这些API在JDK <1.6(例如:JDK1.5)中不可用。
我有一个用JDK1.6编写的Java到XML代码,一旦我切换到JDK1.5,我收到以下错误:
*Exception in thread "main" java.lang.RuntimeException: javax.xml.bind.JAXBException - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory] ... Caused by: javax.xml.bind.JAXBException - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]* ...
JDK1.5不包含JAXB API,因此我应用了以下修复:我在类路径中使用了JDK1.5和以下两个JARS:jaxb-api-2.0.jar和jaxb-impl-2.0.jar,错误得到了解决。
我希望这有帮助。 另一个参考: http : //www.mkyong.com/java/jaxb-hello-world-example/
使用以下版本将适用于JDK5:
com.sun.xml.bind jaxb-impl 2.2.4-1 javax.xml.bind jaxb-api 2.2.4 javax.xml.soap saaj-api 1.3.3
似乎有许多版本和不同的路径从maven存储库获取JAXB。
我对正确工件的最佳猜测是javax.xml.bind: jaxb-api:2.2
javax.xml.bind jaxb-api 2.2 compile
Jaxb应该使用Java 5,但似乎有更多人遇到问题。 可能是缺少一些jar子吗?
查看此论坛post。