gpt4 book ai didi

java - 在 Eclipse 插件中使用 Xalan

转载 作者:行者123 更新时间:2023-12-01 15:57:55 28 4
gpt4 key购买 nike

我在 eclipse 插件中使用 xalan 时遇到问题。
当我尝试通过以下方式创建工厂实例时:

TransformerFactory tFactory = TransformerFactory.newInstance("org.apache.xalan.processor.TransformerFactoryImpl", null);

我收到错误:

javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
...

我在插件类路径中有以下库:xml-apis.jar、xercesImpl.jar、serializer.jar、xalan.jar

我什至无法通过以下方式创建类实例:

c = Class.forName("org.apache.xalan.processor.TransformerFactoryImpl");
Object o = c.newInstance();

它返回ClassNotFoundException

但是我可以从同一个 jar 创建其他类的实例,并且可以在 eclipse 之外运行相同的代码,没有问题。

有什么想法吗?

编辑: TransformerFactory 实例化类(例如“class1”)是添加到插件类路径中的外部库的一部分,而 xalan.jar 也位于插件类路径中。如果我将这个“class1”移动到插件中,它会找到提供程序并正常工作。

最佳答案

虽然我曾经见过这个问题,但我不太确定我是如何解决的。

如果您使用的是 JDK 1.5 或更高版本,请尝试删除 xml-apis.jar。 Java 1.4 需要支持 XML。

更新 1

<小时/>好的。从你的问题我推断你正在写一个eclipse插件。如果是,那么您是否使用 plugin.xml->Runtime->classpath 添加了上述 jar?如果没有尝试这样做。 Eclipse 插件仅考虑其运行时->类路径条目

更新2

<小时/>对我来说,它仍然显示为类路径解析问题。不过,很难说为什么会发生这种情况。为了尝试,您还可以通过更改 plugin.xml->Runtime->classpath 中包含的 jar 的顺序进行检查。

希望这会有所帮助。

PS:由于您正在从事 eclipse 插件开发,因此我建议您阅读这篇文章 Eclipse - a tale of two VMs and many classloaders

关于java - 在 Eclipse 插件中使用 Xalan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4694747/

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