Ant を使用して、Axis2 を使用して Web サービスを呼び出そうとする自己定義タスクを呼び出そうとしています。親jarのClass-Pathマニフェストヘッダーによってすべてのjarを提供しています。geronimo-stax-api_1.0_spec-1.0.1.jar と wstx-asl-3.2.4.jar の両方が Class-Path で定義されています。StAX api (geronimo-stax-api_1.0_spec-1.0.1.jar から) が com.ctc.wstx.stax.WstxInputFactory (wstx-asl-3.2.4.jar から) を使用しようとしています。Classloader がクラスを見つけられません。これはクラスローダーの問題のようですが、何か問題が見つかりません。奇妙なことに、システムのクラスパスに wstx-asl-3.2.4.jar を配置すると、それが配置されます。しかし、Sun/Oracle の jar 仕様は、Class-Path とシステム クラスパスの機能が同じであることを示しており、同じシステム クラス ローダーを使用します。ところで、ご覧のとおり、一部の jar は osgi バンドルですが、これが問題を引き起こすかどうかはわかりません。
スタック トレースを以下に示します。
javax.xml.stream.FactoryConfigurationError: Requested factory com.ctc.wstx.stax.WstxInputFactory cannot be located. Classloader =java.net.URLClassLoader@341960
at javax.xml.stream.FactoryLocator.loadFactory(FactoryLocator.java:120)
at javax.xml.stream.FactoryLocator.locate(FactoryLocator.java:109)
at javax.xml.stream.FactoryLocator.locate(FactoryLocator.java:54)
at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:41)
at org.apache.axiom.om.util.StAXUtils$7.run(StAXUtils.java:311)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory_perClassLoader(StAXUtils.java:306)
at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory(StAXUtils.java:76)
at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:131)
at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:596)
at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:581)
at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:97)
at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:86)
at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641)
at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:184)
at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:150)
at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:143)
at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:244)