最新的Saxon-HE 9.5.1-6 maven存储库中缺少SaxonXQDataSource类。该类存在于Saxaon-HE 9.5.1.4中。实际上,整个net.sf.saxon.xqj包似乎在最新的9.5.1-6版本中丢失了。那个类是否被移动和重命名到其他地方了?
升级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
。
<classifier>xqj</classifier>
的Saxon版本9.8.0-14,并且我可以通过import com.saxonica.xqj.SaxonXQDataSource;
访问DataSource。然而,在运行时,我遇到了运行时错误:java.lang.NoClassDefFoundError: net/sf/saxon/om/SpaceStrippingRule
。我猜是因为它尝试查找net/sf/saxon/而它实际上是com/... - Vegaaaa
compile 'net.sf.saxon:Saxon-HE:9.5.1-6:xqj'
。 - Going Bananas<classifier>xqj</classifier>
的Saxon版本9.8.0-14,并且可以通过import com.saxonica.xqj.SaxonXQDataSource;
访问DataSource。但是,在运行时,我收到了运行时错误:java.lang.NoClassDefFoundError: net/sf/saxon/om/SpaceStrippingRule
。我想这是因为它试图查找net/sf/saxon/
而实际上是com/...
。 - Vegaaaa