最新的Saxon-HE 9.5.1-6 maven存储库中缺少SaxonXQDataSource类。该课程存在于Saxaon-HE 9.5.1.4中。事实上,最新的9.5.1-6版本似乎缺少整个软件包net.sf.saxon.xqj。该课程是否被移动并在某处重命名?
答案 0 :(得分:2)
XQJ软件包是故意从主要的saxon-he JAR文件中删除的,因为关心这些事情的人向我们指出XQJ许可证不是"开源的"在最严格的意义上;对于开源狂热者来说它没有资格,因为Oracle(授权它)坚持认为接口不能被修改,并且除非实现通过所有兼容性测试,否则它不能与实现一起分发。虽然这些对你我来说似乎是完全明智的规则,但对于一些人(例如一些Lunix发行版)来说,这取消了开源原则,足以使整个Saxon-HE无法获得他们的开源许可证。
我们打算将撒克逊的XQJ支持作为一个单独的模块分发给那些想要它的人。但是,我认为在9.5.1.6版本中(当然在Maven上传中)我们错了,这是我们需要解决的问题。与此同时,它仍然是Saxon-PE和Saxon-EE的一部分(如果您不尝试使用PE或EE专用功能,您可以在没有许可的情况下使用这些JAR文件。)
答案 1 :(得分:2)
如上所述(在答案1中),XQJ已被移动到单独的jar文件中。然而,事实上,在通常的地方(即SourceForge和Maven),它可以在Saxon-HE中使用。
对于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/
答案 2 :(得分:0)
为了将Saxon-HE升级到9.5版之后,还需要做两件事。
如果Gradle在compile "net.sf.saxon:Saxon-HE:$saxonHeVersion:xqj"
下方添加compile "net.sf.saxon:Saxon-HE:$saxonHeVersion"
。对于Maven,您需要使用<classifier>xqj<classifier>
。
在Java代码中将import net.sf.saxon.xqj.SaxonXQDataSource;
更改为import com.saxonica.xqj.SaxonXQDataSource
。