JAVA SAP JCO3.0 抛出这个异常:java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA SAP JCO3.0 抛出这个异常:java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path相关的知识,希望对你有一定的参考价值。
我已经把sapjcp3.jar导入到项目中;
本地的写的测试程序能够成功连上SAP,一放到WEB环境下就不行了,抛出这个异常。
Weblogic
no sapjco3 in java.library.path
把sap的dependency 包放到runtime server的路径中,让server能找到他们,然后重启server追问
是说放到weblogic的bin的目录下吧,不行啊!
追答应该是lib目录,bin目录方的是dll 动态库
还有就是 你的机器是否使用过 不同版本的sapjco 如果是的话 把他们都清干净 包括windows/system32 下的动态库
最后一点,你打动态哭的补丁了么? 在sap官网上有for sapjco3的dll库的补丁
使用 SAX 解析 XML |如何处理特殊字符?
【中文标题】使用 SAX 解析 XML |如何处理特殊字符?【英文标题】:XML parsing with SAX | how to handle special characters? 【发布时间】:2011-01-28 21:32:21 【问题描述】:我们有一个 JAVA 应用程序,它从 SAP 中提取数据,对其进行解析并呈现给用户。 使用 JCO 连接器提取数据。
最近我们被抛出了一个异常:
org.xml.sax.SAXParseException: Character reference "�" is an invalid XML character.
因此,我们计划编写一个新的间接级别,在解析 XML 之前替换所有特殊/非法字符。
我的问题是:
-
是否有任何现有的(开源)实用程序可以完成这项工作以替换 XML 中的非法字符?
或者如果我必须编写这样的实用程序,我应该如何处理它们?
为什么会抛出上述异常?
谢谢。
【问题讨论】:
那么来自 JCO 的数据是 XML 格式吗?您正在解析它吗?或者您是在获取名称或其他内容,然后将其写入 XML 文档,然后进行解析? @Tom:JCO 有 Record.toXML() 方法,以 XML 格式提供数据。 只是出于好奇 - 是否有特殊原因导致您经历了将数据转换为 XML 然后再返回的所有痛苦和 CPU 周期? @vwegert:好问题。让我承认我们不知道迭代 JCO.Fields 的 JCO API,并认为 toXML() 可能只是我们的工作。 ...好的。我真的不知道该说什么。抱歉,JCo 附带 API 文档、示例程序和 PDF 教程。有人没有阅读并理解如何使用它,而是认为“让我们在其中添加一些 XML”。真的不知道该笑还是该哭…… 【参考方案1】:从我的角度来看,源 (SAP) 应该进行替换。否则,它传输到您的程序的内容可能看起来像 XML,但不是。
虽然将 '&' 替换为 '&' 可以通过对字符串 from to toXML() 调用的简单 String.replaceAll(...) 来完成,但其他字符可能更难替换('' 为例)。
问候 纪尧姆
【讨论】:
【参考方案2】:这听起来像是他们逃跑的错误。根据上下文,您最好只编写自己版本的使用真正 XML 库的 XMLWriter 类,而不是像 SAP 开发人员那样尝试编写自己的 XML 实用程序。
或者,查看字符代码 ,您也许可以将其全部替换为空字符串:
String goodXml = badXml.replaceAll("�", "");
【讨论】:
【参考方案3】:我有一个related, but opposite problem,我试图将字符 1 插入到 XSLT 转换的输出中。我考虑过用零替换标记的后处理,但选择使用 xsl:param。
如果我遇到你的情况,我会想出一个定制的编码,替换 XML 中无效的字符,并在你的解析中将它们作为特殊情况处理,或者如果可能的话,用空格替换它们。
我没有使用 JCO 的经验,因此无法建议如何或在何处替换无效字符。
【讨论】:
【参考方案4】:您可以使用 Apache Commons Lang 类 StringEscapeUtils escapeXML 方法对 XML 中的非 ASCII 字符进行编码/解码。见:
http://commons.apache.org/lang/api-2.4/index.html
要了解 XML 字符引用的工作原理,请在 wikipedia 上搜索“数字字符引用”。
【讨论】:
以上是关于JAVA SAP JCO3.0 抛出这个异常:java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path的主要内容,如果未能解决你的问题,请参考以下文章