Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Arquillain/Shrinkwrap如何添加整个META-INF目录?_Java_Jsf 2_Jboss Arquillian_Shrinkwrap_Arquillian Drone - Fatal编程技术网

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

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

我想使用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 - 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

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

另一个解决方案,可在


另一个解决方案可在