我继承了一个非常古老的Ant项目,并被要求'将其升级到java 1.7'。
目前该项目为1.5,并且混合了JAXB 1.0和JAXB 2.0。
JAXB 2.0位升级很好,但是当我尝试将JAXB 1.0位升级到jdk1.7时,我得到错误,例如;
Executing 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' with arguments:
'-classpath'
'C:\Users\xyz123\development\proj\lib-common\JAXB1\jaxb-xjc-1.0-ea.jar'
'com.sun.tools.xjc.Main'
'C:\Users\xyz123\development/proj/xml/dtd/doodah.dtd'
'C:\Users\xyz123\development/proj/xml/xjs/doodah.xjs'
'-d'
'C:\Users\xyz123\development/proj/packages/mis-reports/doodah/xml'
The ' characters around the executable and arguments are
not part of the command.
An error has occurred in the JAXB compiler.
Please submit a bug report to jaxb-feedback@java.sun.com
containing your input files as well as the output below.
java.lang.NoSuchFieldError: INITIAL_COLOR
at javax.xml.bind.ValidatableObject.<init>(ValidatableObject.java:32)
at javax.xml.bind.MarshallableObject.<init>(MarshallableObject.java:54)
at javax.xml.bind.MarshallableRootElement.<init>(MarshallableRootElement.java:97)
at com.sun.tools.xjc.dtdx.DTDX.<init>(DTDX.java:57)
at com.sun.tools.xjc.dtd.DTD.convert(DTD.java:113)
at com.sun.tools.xjc.dtd.DTDParser.parse(DTDParser.java:92)
at com.sun.tools.xjc.Main.doCompile(Main.java:85)
at com.sun.tools.xjc.Main.compile(Main.java:106)
at com.sun.tools.xjc.Main.main(Main.java:275)
有人有任何想法吗?关于在最近的JDK上运行jaxb 1.0,我没有看到太多(如果有的话)信息。
答案 0 :(得分:0)
在我看来,这是一项不可能完成的任务,因为;
因此,除非有某种方法在JDK运行时之前加载JAXB 1.0运行时,否则我觉得我很难过。
答案 1 :(得分:0)
看起来JAXB 2.0将元素值(而不是属性)转换为'value'而不是JAXV 1.0'content',因此任何代码getter / setter都必须更改为相应的getter / setter。