【问题标题】:How to use xstream fro xml serialization in eclipse如何在eclipse中使用xstream来进行xml序列化
【发布时间】:2023-04-06 05:12:01
【问题描述】:

我在弄清楚如何在 Eclipse 中下载和使用 xstream 时遇到了一些麻烦。当我从网站下载二进制发行版时,我得到一个 zip 文件。我应该在哪里提取它,以及如何使用它?

编辑:

好的,我已将它添加到我的构建路径中,但现在当我尝试使用 XStream 序列化 ArrayList<Earmark> 其中Earmark 是我定义的类时,我收到以下错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserException
at com.thoughtworks.xstream.XStream.<init>(XStream.java:334)
at examples.TestEarmarkExtractor.SerializeEarmarks(TestEarmarkExtractor.java:19)
at examples.TestEarmarkExtractor.main(TestEarmarkExtractor.java:48)
Caused by: java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more

更新:错误发生在之前我尝试序列化。发生就行了

XStream xs = new XStream();

【问题讨论】:

  • 也许下载被破坏了?再试一次,或者从其他浏览器尝试,提取 zip 内容并将其添加到您的项目类路径中。
  • 请注意,这更像是一个一般性的“我如何在 Eclipse 中使用库”问题,而不是一个特定的 XStream 问题。

标签: java xml eclipse xstream


【解决方案1】:

我添加了两个库:dom4j-2.0.0-ALPHA-2.jarxstream-1.4.7.jar,并且显示了相同的问题。添加kxml2-min-2.3.0.jar 后,问题没有发生。

【讨论】:

    【解决方案2】:

    你可以添加这个库:

        <dependency>
            <groupId>xmlpull</groupId>
            <artifactId>xmlpull</artifactId>
            <version>1.1.3.1</version>
        </dependency>
    

    【讨论】:

      【解决方案3】:

      遇到这个异常,然后我下载 kxml2-min-2.3.0.jar 并将其添加为库,现在它可以工作了(使用 xstream 1.4.4.jar)

      【讨论】:

      • 非常感谢。这个答案是准确的。
      【解决方案4】:
      1. 将 zip 文件解压到一个目录(例如C:\Program Files\XStream
      2. 在 Eclipse 中,右键单击您的项目并选择Build Path &gt; Configure Build Path...
      3. 选择Libraries标签
      4. 选择Add External Jars..
      5. 导航到 XStream 下载的 lib 文件夹并选择要添加的 jar
      6. 选择Open
      7. 选择OK

      这里是关于如何使用 XStream 的Two Minute Tutorial

      【讨论】:

      • 好的,我这样做了,现在当我尝试运行它时,我得到了一堆异常。我已为我的问题添加了例外情况。
      • @Daniel,你导入了必要的类了吗?
      • 嗨@Daniel 我仍然得到相同的异常集吗?任何线索如何解决它...
      • @Daniel 如果你找到了解决方案,你应该在这里解释一下......你走开真是太自私了!
      • @Marci-man 如果您仍在寻找解决方案(很可能不是),请遵循此答案中描述的相同过程,但在导入 xstream-xxxjar 文件之后作为外部 jar,您必须导航到 lib/xstream 并将所有这些 jar 作为外部 jar 导入。所以总的来说,你应该有一个所有引用的 jar 的长列表。
      【解决方案5】:

      您需要解压缩 .zip 文件以获取 .jar 文件,该文件是您在 eclipse 中为项目的类路径放置的(如果您不知道如何将第三方库 .jar 添加到项目类路径中,请使用 Google在 Eclipse 中)。

      一旦将其添加到项目的类路径中,您就可以像使用任何其他类一样使用其中包含的类,XStream 网站上的文档会告诉您如何使用它们。

      顺便说一句不错的选择,XStream 很棒!

      【讨论】: