在一个项目用到了JAXB1.0,用来解析复杂的XSD文件,
其中我们采用过N多方案处理XSD,包括XMLBeans,当然JDOM,DOM,SAX也都考虑使用,不过,由于后面几种会手写巨多的代码,当然没有被受我这个比较偷懒的人青睐了哟,呵。另外JDK我们用的1.4,迫使我用JAXB1.0,要是用JAXB2.0以上,我们处理XSD就更加如鱼得水了。
不过在项目中采用JAXB1.0,遇到了很多问题,其中:
jaxb1.0解析xsd时,是将xsd的层级结构处理成内部类的形式,
这样,就出现了一个问题,如果xsd层级结构深,复杂的话,内部类的名字会非常的冗长
因为内部类的命名是按层次累加过来的
经过测试,得到一下数据:
windows文件系统, 路径+文件名的长度不能大于255(最大为254)
java虚拟机对class名字的限制是,class名不能超过248(248+".class" = 254)
如果文件名过长,会导致class不能加载的错误 不过我们最后的解决方案:是手工改的名。不知道网友们有没有更好的办法,让我采纳下,十分感谢众多网友共现探讨研究。
附:xjc命令行接口的一些选项列如下:
-nv 对于输入的模式不执行严格的XML验证
-b <file> 指定外部的绑定文件
-d <dir> 指定生成的文件的存放路径
-p <pkg> 指定目标包
-classpath <arg> 指定classpath
-use-runtime <pkg> impl.runtime包不被生成
-xmlschema 输入的模式是一个W3C XML模式(默认)
分享到:
相关推荐
activation.jar jaxb1-impl.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jsr173_1.0_api.jar系列jar下载
解决maven仓库jab1-impl.jar jabl-api.jar jsr173_1.0_api.jar等jar包不存在问题
maven-jaxb-schemagen-plugin-1.0.jar
maven-jaxb-schemagen-plugin-1.0-sources.jar
JAXB的使用JAXB的使用JAXB的使用JAXB的使用
无需安装,解压后即可。jaxb-api.jar,jaxb-xjc.jar,jaxb-impl.jar,activation.jar等相关jar包在lib文件夹下。
jaxb-api jaxb-impl jar
JAXB的安装包及插件
在使用webservice,mule esb等需要jaxb的项目里经常会出现 JAXB 2.0 API is being loaded from the bootstrap classloader这个错误,按照打出的信息Use the endorsed directory mechanism to place jaxb-api.jar in ...
JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件
Jaxb annotation 使用 Jaxb annotation初步使用
一个jaxb小项目的源码,可以帮助理解jaxb的执行和注解。
java -jar JAXB2_20060607.jar On Windows, you can just double-click the jar file to execute. Release Notes Browse the release notes online, including what's new. Technical Support Please subscribe to...
有关Maven项目中缺少jaxb-api的异常报错解决,jaxb-api-2.3.0.jar
我刚写好的 一个简单的小程序 动行里面的read文件 是在idea 中用jaxb 读xml中数据
JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术
使用jaxb生成XML例子,含有例子和注解解析
赠送jar包:jackson-module-jaxb-annotations-2.2.3.jar; 赠送原API文档:jackson-module-jaxb-annotations-2.2.3-javadoc.jar; 赠送源代码:jackson-module-jaxb-annotations-2.2.3-sources.jar; 赠送Maven依赖...
jaxb-api jaxb-impl jaxb-xjc jaxws-rt 这四个文件对应的jar包
现在很多maven仓库均没有此jar jaxb-api-2.3.0.jar jaxb-core-2.3.0.jar