В военном проекте Maven я использую Jetty-Maven-плагин в качестве контейнера разработки.
Я отфильтровал некоторые файлы ресурсов, в частности, назовем его «bddconf.xml».
Этот файл фильтруется maven и помещается в каталог target / classes.
Старый самодельный bdd fwk ищет этот файл по этому фрагменту:
Properties properties = new Properties();
InputStream inputstream = properties.getClass().getResourceAsStream("/bddconf.xml");
Когда я запускаю этот фрагмент, в моем веб-приложении (в пристани) inputStream имеет значение null.
Принимая во внимание этот фрагмент, тем же способом:
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]
Это работает, так в чем же разница между этими двумя методами?