在一个 Maven 战争项目中,我使用 jetty-maven-plugin 作为开发容器。
我过滤了一些资源文件,特别是让我们将其命名为“bddconf.xml”。
该文件由 maven 过滤并放入 target/classes 目录。
使用以下代码段在此文件后进行旧的自制 bdd fwk 搜索:
Properties properties = new Properties();
InputStream inputstream = properties.getClass().getResourceAsStream("/bddconf.xml");
当我在我的 web 应用程序(在码头)中运行此代码段时,inputStream 为空。
而使用此代码段,以相同的方法:
import com.google.common.io.Resources;
String file = Resources.getResource("bddconf.xml").getFile();
File file2 = new File(file);
logger.info("Does bdd file exists : [" + file2.exists() + "] file : [" + file2.toString() + "]");
// Does bdd file exists : [true] file : [..path..\target\classes\bbdconf.xml]
它有效,那么这两种方法有什么区别?