gpt4 book ai didi

java - 尝试将 Saxon 与 Web 服务结合使用时出现 TransformerFactoryConfigurationError

转载 作者:行者123 更新时间:2023-11-30 09:23:24 25 4
gpt4 key购买 nike

我的 Web 服务位于 WSO2 WSAS 应用程序服务器内的 Axis2 上,包含以下代码:

String prop = "javax.xml.transform.TransformerFactory";
String val = "net.sf.saxon.TransformerFactoryImpl";

public static TransformerFactory getTransformerFactory() {
System.setProperty(prop, val); // This line executes normally
return TransformerFactory.newInstance(); // Error occurs inside this call
}

运行时,服务产生此错误:

[2013-04-15 12:22:41,263] ERROR
{org.apache.axis2.transport.base.threads.NativeWorkerPool} - Uncaught
exception
javax.xml.transform.TransformerFactoryConfigurationError: Provider
net.sf.saxon.TransformerFactoryImpl not found
at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
at com.example.Setup.getTransformerFactory(Setup.java:40)
at com.example.ProcessFiles.init(ProcessFiles.java:336)
at com.example.TorgApp.incoming(TorgApp.java:229)
...

我的类路径中确实有 Saxon-HE-9.4.jar,它是可读的。它也可用于 Axis2 (/foo/bar/wso2as/wso2as-4.0.0/tmp/axis2-tmp-6436419317930731973.tmp/axis67573163200472779114Saxon-HE-9.4.jar)。

根据 the Javadoc for newInstance() ,我正在设置的系统属性应该否决所有其他识别要使用哪个 TransformerFactory 的方法,因此优先级不是问题。

什么可能导致此错误,我该怎么做才能获得我想要的 Saxon 变压器工厂?

最佳答案

如果 axis2(这似乎是异常的原因)被放置在您的 Web 应用程序之外,那么您还必须在那里也使 Saxon 可用。

大多数应用程序服务器都有一个预定义的位置,其中可以放置 jar 文件,正是为了这个目的。仅仅将它部署在您的 Web 应用程序中是不够的。

关于java - 尝试将 Saxon 与 Web 服务结合使用时出现 TransformerFactoryConfigurationError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16069519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com