我想写为Oracle XSQL Servlet的一些自定义序列。我试图保持局部的.ear内我的两个串行器,因为他们仍然被开发和测试,我不想伤害生产代码。但是,我发现了以下错误

XML-25021:串行XLSv2未在XSQL配置文件中定义

目录列表的的.war / WEB-INF的样子

classes/
        scott/
              XLSv2Serializer.class
              XLSXSerializer.class
lib/
    <empty>
web.xml
MyConfig.xml

我的WEB-INF / web.xml中看起来像:

<web-app>
  <display-name>demoSerializer</display-name>
  <distributable />
    <init-param>
        <param-name>xsql.config</param-name>
        <param-value>MyConfig.xml</param-value>
        <description>use my dev config file</description>
    </init-param>
</web-app>

MyConfig.XML看起来像:

<XSQLConfig>
  <serializerdefs>
    <serializer>
      <name>XLSv2</name>
      <class>scott.XLSv2Serializer</class>
    </serializer>
    <serializer>
      <name>XLSX</name>
      <class>scott.XLSXSerializer</class>
    </serializer>
  </serializerdefs>
</XSQLConfig>

我缺少什么东西吗?

有帮助吗?

解决方案

了它。首先,我切换

<?xml-stylesheet serializer="{@serializer}"?>

<?xml-stylesheet serializer="java:scott.XLSXSerializer"?>

这迫使它WEB-INF /类中的样子。由于我没有进入编辑XSQLConfig和我的序列化是本地到.war,我把它扔了一个小烦恼,我必须manualy变化串行测试时。

在此我得到一个“串行器无法加载的错误”。

Apache的POI OOXML需要的xmlbeans。第二个问题是,XMLBeans的没有在服务器上找到,因此串行会悄悄死去,永远不会被加载。出于某种原因,正被抛出的异常没有渐入日志。走动代码后,主要是正在创建的工作簿在那里,我终于看到了异常。的修复程序是把的xmlbeans在lib目录内WEB-INF /

最后一个侧面说明:我如何重写xsql.config从来没有工作,即使文件说,它应该。我发现了这一点,通过在MyConfig.XML故意写畸形XML。该应用程序还配备了当它竟然没有运行得很好。

如果任何人的方式来替代单个的.ear的XSQLConfig.xml知道,我很乐意听到它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top