最新的Saxon-HE 9.5.1-6 maven存储库中缺少SaxonXQDataSource类。这个类存在于Saxaon-HE 9.5.1.4中。事实上,在最新的9.5.1-6版本中,似乎缺少整个包net.sf.saxon.xqj。那个类是不是被移到了什么地方并重命名了?
发布于 2014-09-04 04:42:25
XQJ包被故意从主要的saxon-he JAR文件中删除,因为关心这些事情的人向我们指出,XQJ许可不是严格意义上的“开源”;对于开源狂热分子来说,它不符合条件,因为Oracle (许可它的人)坚持接口不能被修改,并且它不能与实现一起分发,除非实现通过了所有的兼容性测试。虽然这些规则在您和我看来可能是完全合理的,但对于某些人(例如,一些Lunix发行版)来说,取消整个Saxon-HE获得开源批准的资格是对开源原则的充分背离。
我们的意图是在Saxon中将XQJ支持作为一个单独的模块分发给那些想要它的人。然而,我认为在9.5.1.6版本中(当然是在Maven上传中)我们弄错了,这是我们需要修复的东西。同时,它仍然是Saxon-PE和Saxon-EE的一部分(如果不尝试使用特定于PE或EE的功能,则无需许可证即可使用这些JAR文件)。
发布于 2014-09-04 18:32:24
如前所述(在答案1中),XQJ已被移到一个单独的jar文件中。然而,tt实际上在Saxon-HE中的常见位置(即SourceForge和Maven)中是可用的。
对于maven,文件名为Saxon-HE-9.5.1-6-xqj.jar
请参阅Saxon-HE Maven存储库:http://repo1.maven.org/maven2/net/sf/saxon/Saxon-HE/9.5.1-6/
发布于 2017-05-23 18:00:46
要将Saxon-HE升级到9.5以上,需要做两件事。
如果是Gradle,就在compile "net.sf.saxon:Saxon-HE:$saxonHeVersion"下面添加compile "net.sf.saxon:Saxon-HE:$saxonHeVersion:xqj"。对于Maven,您需要使用<classifier>xqj<classifier>。
在Java代码中,将import net.sf.saxon.xqj.SaxonXQDataSource;更改为import com.saxonica.xqj.SaxonXQDataSource。
https://stackoverflow.com/questions/25631113
复制相似问题