我正在将应用程序从 websphere 应用程序服务器迁移到 tomcat 7.0.47。
在运行服务器 (tomcat) 时,我遇到一个无法解决的异常,因此应用程序无法启动,映射也无法正常工作。一位前雇员编写了这个应用程序,因此我不太熟悉它的代码。
我相信这个异常(exception)
java.lang.UnsupportedOperationException: This operation needs a license for Saxon-EE
是第一个异常的某种结果。
这是导致问题的 XML 部分:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
日志:
jan 05, 2016 2:54:58 EM com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra (1.2_12-b01-FCS) for context '/b2bws'
jan 05, 2016 2:54:58 EM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.ExceptionInInitializerError
at com.sun.faces.config.ConfigManager$ParseTask.<init>(ConfigManager.java:373)
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:281)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:203)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:196)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4937)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.faces.config.ConfigurationException: java.lang.UnsupportedOperationException: This operation needs a license for Saxon-EE
at com.sun.faces.config.DbfFactory.initSchema(DbfFactory.java:162)
at com.sun.faces.config.DbfFactory.<clinit>(DbfFactory.java:120)
... 13 more
Caused by: java.lang.UnsupportedOperationException: This operation needs a license for Saxon-EE
at com.saxonica.jaxp.SchemaFactoryImpl.<init>(SchemaFactoryImpl.java:42)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at javax.xml.validation.SchemaFactoryFinder.loadFromService(Unknown Source)
at javax.xml.validation.SchemaFactoryFinder._newFactory(Unknown Source)
at javax.xml.validation.SchemaFactoryFinder.newFactory(Unknown Source)
at javax.xml.validation.SchemaFactory.newInstance(Unknown Source)
at com.sun.faces.config.DbfFactory.initSchema(DbfFactory.java:149)
... 14 more
jan 05, 2016 2:54:58 EM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
jan 05, 2016 2:54:58 EM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/b2bws] startup failed due to previous errors
有什么想法吗?
谢谢
最佳答案
这是 Saxon-EE XML 处理器的许可问题。你可以买一个license在他们的网站上。
可能您已经拥有许可证,这就是它在 websphere 上运行的原因。您需要在您的前开发人员的邮件中或在 websphere 服务器中找到 saxon-license.lic
文件,然后到 migrate the license file to tomcat。 :
In Tomcat, for example, the license file should be treated in the same way as free-standing (unjarred) classes, and placed in the WEB-INF/classes directory.
关于java - 将应用程序从 websphere 迁移到 tomcat - 初始化程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615671/