我正在运行Glassfish 3.1.2嵌入式单元测试我的应用程序。我设置了像这样的ScatteredArchive:
archive.addClassPath(new File("target/classes"));
archive.addClassPath(new File("src/test/resources"));
archive.addMetadata(new File("src/main/webapp/WEB-INF/web.xml"));
通过这种方式,glassfish可以找到web.xml中指定的servlet。单元测试这些工作完美。然而,glassfish无法找到任何网页内容,如javascript,图像等。
如何告诉ScattedArchive Web内容在哪里?
答案 0 :(得分:2)
您可以为ScatteredArchive使用不同的构造函数:
ScatteredArchive(String name,ScatteredArchive.Type type,File topDir)
在Oracle GlassFish Server 3.1.2 Embedded Server Guide for release 3.1.2中非常简要地描述。 topDir参数用于指向存档的“顶部”,它将是war文件的根目录。这就是您的网络内容通常所在的位置。