2012-04-27 55 views
0

我在设置org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl时遇到问题当在域模式下使用JBoss AS 7.0.2时,javax.xml.transform.TransformerFactory。如果我将以下属性放在standalone.xml中,一切正常,但是如果我在host.xml(或domain.xml)中的服务器中添加相同的属性,服务器将无法启动。如何在JBoss AS 7.0.2中将org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl设置为变压器托管服务器

<property name="javax.xml.transform.TransformerFactory" value="org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl"/> 

我在我的部署xalan lib,但我甚至试图把它作为一个全局模块。没有工作。我注意到在控制台中的以下错误:

[Server:server-one] Exception in thread "main" javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl not found 
[Server:server-one]  at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:108) 
[Server:server-one]  at __redirected.__TransformerFactory.<clinit>(__TransformerFactory.java:66) 
[Server:server-one]  at __redirected.__JAXPRedirected.initAll(__JAXPRedirected.java:82) 
[Server:server-one]  at org.jboss.modules.Module$1.run(Module.java:88) 
[Server:server-one]  at org.jboss.modules.Module$1.run(Module.java:75) 
[Server:server-one]  at java.security.AccessController.doPrivileged(Native Method) 
[Server:server-one]  at org.jboss.modules.Module.<clinit>(Module.java:75) 
[Server:server-one]  at org.jboss.modules.Main.main(Main.java:257) 

如果我只是删除属性服务器工作正常。

我还能做什么?

我正在使用JBoss AS 7.0.2 Final。

Link for the same question in JBoss community

回答

0

我的猜测是,xalan的某处放置在JBoss并没有在早期启动阶段,尚未加载。

可能的解决方案:

  • 推迟系统属性赋值
  • 明确xalan的放置在JVM类路径,以便它可以在早期启动
0

加载您必须添加依赖到清单文件。
对于使用SmartTransformerFactoryImpl类应该在清单文件中的以下行实例JAR模块:

Dependencies: org.apache.xalan 

如果您正在使用Maven,你可以配置它来添加这一行,而包装中加入下面的配置到Maven JAR插件:

<configuration> 
    <archive> 
     <manifestEntries> 
      <Dependencies>org.apache.xalan</Dependencies> 
     </manifestEntries> 
    </archive> 
</configuration> 
0

我web应用程序使用Debian杰西用的Apache2和tomcat7的迁移过程中有同样的问题,从旧(莱尼)Debian版。 感谢Direct Web Remoting: TransformerFactoryConfigurationError,我找到了解决方案的开头。

我通过将xalan.jar xsltc.jar一起移动到CATALINA_HOME/lib(在我的配置中为/ usr/share/tomcat7/lib)来完全解决它。 xalan.jar“孤独”是不够的;它必须与xsltc.jar“同步”,因为在xalan.jar \ org \ apache \ xalan \ xsltc是空的,而xsltc.jar有\ org \ apache \ xalan \ xsltc \ trax并且您有TransformerFactoryImpl类。 我在这个问题上经历了一段时间,所以我希望分享我的经验可能对某人有帮助。

相关问题