首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arquillain/Shrinkwrap如何添加整个META-INF目录?

Arquillain/Shrinkwrap如何添加整个META-INF目录?
EN

Stack Overflow用户
提问于 2014-03-03 23:31:06
回答 2查看 3.2K关注 0票数 1

我想使用Arquillian + Selenium来测试我的JSF页面。我的项目结构如下:

代码语言:javascript
复制
/src/main/java - my java classes
/src/main/resources
/src/main/resources/META-INF - all imgs, css, js and custom composite JSF components
/src/main/webapp/pages - my xhtml pages
/src/main/webapp/WEB-INF - descriptors, JSF template

我想构建一个包含所有所需内容的测试部署归档文件,即所有资源、我想要测试的特定xhtml页面、WEB-INF目录。我已经设法复制了除META-INF资源之外的所有文件。有没有什么方法可以告诉shrinkwrap把整个META-INF目录都放到部署中?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-07-17 21:16:27

另一种解决方案(可以在http://arquillian.org/guides/functional_testing_using_graphene/上找到)

代码语言:javascript
复制
archive.merge(ShrinkWrap.create(GenericArchive.class)
   .as(ExplodedImporter.class)
   .importDirectory(WEBAPP_SRC).as(GenericArchive.class),
   "/", Filters.include("META-INF\\.*\\.xml"));
票数 4
EN

Stack Overflow用户

发布于 2014-03-14 21:32:50

你可以这样做:

代码语言:javascript
复制
File[] files = new File("src/main/resources/META-INF").listFiles();
WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war");
for (File file : files) {
    war.addAsManifestResource(file);
}
war.writeTo(System.out, Formatters.VERBOSE);

假设您在src/main/resources/META-INF中有以下文件:

代码语言:javascript
复制
beans.xml
configuration1.xml
configuration2.xml

..。它将输出:

代码语言:javascript
复制
test.war:
/META-INF/
/META-INF/beans.xml
/META-INF/configuration2.xml
/META-INF/configuration1.xml

如果您有一个嵌套的多模块项目,则传递给File构造函数的路径可能需要调整。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22150741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档