当前位置:  开发笔记 > 编程语言 > 正文

Java的默认JAXB实现是在我的类路径上选择的

如何解决《Java的默认JAXB实现是在我的类路径上选择的》经验,为你挑选了0个好方法。

我编写了一个利用JAXB进行XSL转换的java应用程序.我在我的类路径中包含了saxon9.jar,因此我可以在命令行上使用XSLT 2.0而不是XSLT 1.0.

java -classpath ./lib/saxon9.jar:./ -jar myApp.jar

我在XSL中包含了代码来报告使用的XSLT.


XSLT Version:  
XSLT Vendor:  
XSLT Vendor URL:  

它报道.

XSLT Version: 1.0
XSLT Vendor: Apache Software Foundation (Xalan XSLTC)
XSLT Vendor URL: http://xml.apache.org/xalan-j

这是JVM的默认实现.

如何使用我指定的Saxon?


跟进:

所以这些方法都不起作用(除了将撒克逊jar放在背书目录中),但它们都应该有效.看来我使用"-jar myApp.jar"和想要替代XSLT实现的组合是不兼容的.换一种说法...

java -Djavax.xml.transform.TransformerFactory = net.sf.saxon.TransformerFactoryImpl -classpath ./lib/saxon9.jar:./ -jar myApp.jar

......不起作用,但这确实......

java -Djavax.xml.transform.TransformerFactory = net.sf.saxon.TransformerFactoryImpl -classpath ./lib/saxon9.jar:./myApp.jar org.dacracot.myApp

...有趣的是,我甚至不必指定工厂,我得到了撒克逊版本......

java -classpath ./lib/saxon9.jar:./myApp.jar org.dacracot.myApp

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有