- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在增强一个客户,这是一个更大项目的一部分。由于缺乏速度,我被迫切换到 CNI,因此我不得不使用 GNU-gcj 编译器 (gnu 4.6.3) 生成 native 代码。
编译和链接工作正常(感谢 -findirect-dispatch 标志)并且我在执行输出时没有任何问题。但是当客户端和服务端通信的时候,客户端马上就断开了。原因:
[XStreamClient Reader] WARN - Client disconnected (Exception:com.thoughtworks.xstream.io.StreamException: Cannot createXmlPullParser)
(此异常仅出现在客户端的 gcj 编译版本中。当我使用 java 解释器运行代码时 - 一切正常(但太慢^^))--> 具有挑战性的部分是我无法检索发生此异常的源代码,因为它位于客户端使用的预编译(Java 类文件)库中。 (而且我无法联系到那个图书馆的作者)
我猜图书馆调用了 XppReader然后尝试创建 XmlPullParser 类并失败。
我绑定(bind)到 XStream(版本 1.4.3)库(和其他所需的 *.jars),方法是解压它们并编译创建的 *.class 文件,然后链接目标文件。这似乎也适用于所有其他图书馆。 (我的操作系统=Ubuntu)
我已经做了什么来克服这个问题:我用谷歌搜索了 XStream/XmlPullParser 和 gcj,并用不同版本替换了“xmlpull”和“kxml2”文件。但没有任何效果。你们中有人知道可能的解决方案吗?
我发现XmlPullParser创建失败的原因是XmlPullParserFactory.newInstance函数找不到/services/org.xmlpull.v1.XmlPullParserFactory文件所在的META-INF目录。这是因为我只编译和链接了 *.jar 的 *.class 文件。因此,一旦我找到将 META-INF 目录链接到可执行文件的方法,该函数就可以找到并访问它,问题就应该解决了。你们中有人知道这样做的方法吗?
最佳答案
我认为 xmlpull 需要一个可以使用 xpp3 作为其实现的实现。请将以下代码添加到您的 pom.xml 中,如果需要,将这些 jar 文件添加到需要它们的软件中。
<dependency>
<groupId>xmlpull</groupId>
<artifactId>xmlpull</artifactId>
<version>1.1.3.1</version>
</dependency>
<dependency>
<groupId>xpp3</groupId>
<artifactId>xpp3</artifactId>
<version>1.1.3.3</version>
</dependency>
关于java - 使用 gcj 编译的 java 和 XStream。 (异常 : Cannot create XmlPullParser),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12998222/
我有一个输入 xml 和相应的 java 类,如下所示。 name street public class Address { private String name; /
我在 Kettle 下使用 XStream 将 XML 反序列化为 Java 对象,但它总是给我带来异常:nodecom.thoughtworks.xstream.mapper.CannotResol
XStream的安全框架未初始化,XStream可能存在漏洞 在使用 XStream (1.4.10) 时,此控制台错误一直显示为红色 我尝试了以下方法: XStream.setupDefaultSe
我正在尝试解析 XML 文档,这是文档的结构 Lily Brown
对于本地转换器,在编码到 XML 时,是否可以访问父对象? 我需要使用来自第三方源的项目编码集合 - 使用存储在父对象中的 id。 唉,似乎没有办法查询通向当前对象的对象路径。或者有吗? 最佳答案 我
我在反序列化 Xml 时遇到 java 泛型和 xstream 的问题。 这是主要的DTO @XStreamAlias("OBJECTX") public class ObjectX { @X
如果你有这样的功能: List getUsers() {} 如果 getUsers 返回一个只有一个元素的 List,则生成的 JSON 只是一个 JSON 对象而不是 JSON 数组。 是否有解决方
我有一个我想用 Xstream 序列化的类结构。根类包含其他对象(不同类型)的集合。我只想序列化存储在集合中的部分对象(主要是它们的 ID,而不是每个元素的剩余内容)。 任何人都知道我该怎么做? 谢谢
这个问题在这里已经有了答案: XStream short dynamic aliases (3 个回答) 5年前关闭。 现在 XStream 使用 class.getName() 作为别名,但我想使用
在 xstream for java 中,有没有办法通过确保对象通过带有参数的特定构造函数来反序列化对象? 最佳答案 XStream(或一般的反序列化)不调用构造函数。 (除了很少使用的纯 Java
使用以下设置时出现 XStream 错误。我一定是疯了。怎么了? 请求类 @XStreamAlias("RequestTO") public class RequestTO { @XStrea
我正在使用 XStream 将我的对象序列化为 XML 格式。我得到的格式化xml如下: node1, node2, node 3 是pojo的属性,DetailDollars 我有一个要求,我必须计
我正在尝试使用 XStream 反序列化 XML。在那里我有对象 A ,它没有默认的构造函数。然后是引用对象A 的对象B。此时,A 已实例化,但所有字段均为空,即使这些值是在 XML 中定义的。 我的
我正在使用 'com.thoughtworks.xstream:xstream:1.4.10' 库并尝试解析 xml 文件。 Broker是根元素,里面还有其他标签 问题是当我生成 xml
我正在使用 XStream,但我在使用特殊字符 á、é、í、ó、ú 和 ñ 时遇到问题。 我尝试过这个: String charset = "UTF-8"; xstream = new XSt
我已经编写了一些代码来为之前写入sql的用户生成密码。然后我想将每个用户的用户名和密码写入xml。该代码似乎工作正常,除了在大约第 200 个用户时它突然停止在 xml 标记中途并结束,这非常奇怪。我
我正在使用 XStream 序列化程序来序列化原语,但在反序列化时遇到了问题。问题描述如下: 比如说,我有: int i = 80; 我将其序列化如下: serializer.toXML(i, new
我正在考虑使用 XStream 库,但我有几个问题/疑虑。 假设我有一个复杂的对象,我想使用 XStream 将其序列化为 XML(或 JSON)。 XStream 是否能够在不需要任何额外工作的情况
如何维护 Set 中未编码子对象的顺序。下面是我的xml,当转换为java对象时,我在集合中得到的顺序不是A、B、C。我怎样才能实现这一目标? 编辑:观察结果: 在我的 Comp
我目前正在使用 XStream 来序列化一些未实现 Serialized 的对象。有没有办法告诉 XStream 如果对象确实实现了 Serialized,则使用 Java 的默认序列化;如果没有实现
我是一名优秀的程序员,十分优秀!