java - 将应用程序从 websphere 迁移到 tomcat - 初始化程序错误

标签 java tomcat

我正在将应用程序从 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/

相关文章:

Node.js 多个 Webapps

java - 如何在 Redis 中存储 Tomcat session

eclipse - Tomcat 未通过 Eclipse 启动(超时)

linux - Tomcat什么是Thread Total Started Count

java - 在 onSizeCanged() 中初始化对象时出现 NPE

java - 当从浏览器请求 html 文件作为 servlet Web 应用程序的一部分时,浏览器显示 404 错误

java - 在 Android Paint 类中使用 PorterDuffXfermode 更改位图上的亮/暗强度

java - 在 JAVA Servlet 中将 Runnable.run() 转换为 Callable.call()

java - TomEE/openEJB 和 log4j - 忽略的属性覆盖属性 ... log4.configurationFile?

java - JDBC MySQL 执行 SQL 失败