gpt4 book ai didi

java - 如何创建使用 XStream 的 Arquillian 测试?

转载 作者:行者123 更新时间:2023-12-01 17:01:10 25 4
gpt4 key购买 nike

如何创建使用 XStream 的 Arquillian 测试?

部署方法应该是什么样的?

我尝试的第一件事是添加我的类和 XStream 包。

ShrinkWrap.create(WebArchive.class, "myTest.war")
.addClass(...) // my classes
.addClass(...) // my classes
.addPackages(true, "com.thoughtworks.xstream")
.addAsResource("META-INF/persistence.xml", "META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");

提示缺少 XStream 依赖项时出错,所以我添加了:

    .addPackages(true, "org.dom4j")
.addPackages(true, "org.xmlpull")

之后,我仍然收到以下错误:

com.thoughtworks.xstream.io.StreamException: Cannot create XmlPullParser at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:56) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1040) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1031) (...)

我还能做什么?

最佳答案

回答上面评论中的问题:ShrinkWrap resolvers可能是一条出路。

WebArchive archieve = ShrinkWrap
.create(WebArchive.class, "myTest.war")
.addPackages(true, "your.company.project")
// other resources ...

File[] xstreamLib = Maven.resolver().resolve("com.thoughtworks.xstream:xstream:1.4.7")
.withTransitivity().asFile();
archieve.addAsLibraries(xstreamLib);

其他示例用法here .

为什么这么好?由于两个原因:

  • 您使用的每个库都可以有自己的传递依赖项 - 因此您必须单独添加它(在您的情况下,它们是:dom4j xmlpull) - 但可能还有更多的依赖项。
  • 重新打包库非常容易出错,正如您已经注意到的那样。

ShrinkWrap 解析器是非常有用的软件。

关于java - 如何创建使用 XStream 的 Arquillian 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com