Java Arquillain/Shrinkwrap如何添加整个META-INF目录?
我想使用Arquillian+Selenium来测试我的JSF页面。我的项目结构如下:Java Arquillain/Shrinkwrap如何添加整个META-INF目录?,java,jsf-2,jboss-arquillian,shrinkwrap,arquillian-drone,Java,Jsf 2,Jboss Arquillian,Shrinkwrap,Arquillian Drone,我想使用Arquillian+Selenium来测试我的JSF页面。我的项目结构如下: /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 - d
/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目录带到部署中?谢谢。您可以执行以下操作:
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中有以下文件:
beans.xml
configuration1.xml
configuration2.xml
。。。它将输出:
test.war:
/META-INF/
/META-INF/beans.xml
/META-INF/configuration2.xml
/META-INF/configuration1.xml
如果您有嵌套的多模块项目,则可能需要调整传递给文件构造函数的路径。您可以执行以下操作:
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中有以下文件:
beans.xml
configuration1.xml
configuration2.xml
。。。它将输出:
test.war:
/META-INF/
/META-INF/beans.xml
/META-INF/configuration2.xml
/META-INF/configuration1.xml
如果您有嵌套的多模块项目,则可能需要调整传递给文件构造函数的路径。另一个解决方案,可在
另一个解决方案可在