Как обратиться к файлу, присутствующему в папке src / main / resources, развернутой в jboss env? - PullRequest
0 голосов
/ 12 января 2019

Мне нужно найти изображение в папке src/main/resources в веб-приложении. Это Apache CXF SAOP веб-приложение.

Мы запускаем его в jboss env(jboss-eap-6.4)

После постройки войны развернуто то же самое.

Однако я не могу получить правильный путь к вышеуказанному файлу. Пожалуйста, предложите.

Я пробовал несколько вариантов.

File logo= new File("src/main/resources/image.jpg");    
logo.getAbsolutePath(); //  This works great when Junit tested, however breaks with the server. 

Это тоже не работает-

ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
contextClassLoader.getResource("image.jpg").getPath();

1 Ответ

0 голосов
/ 12 января 2019

Поскольку вы используете Maven, файлы из src/main/resources автоматически попадут в путь к классам.

Чтобы загрузить ресурс из пути к классам, используйте что-то вроде этого:

InputStream in = getClass().getResourceAsStream("/image.jpg");

Получение пути к ресурсу или открытие его как File может не всегда работать, хотя файл, вероятно, все еще хранится в файле .war. Следовательно, class.getResource() вернет URL, который может быть распознан только загрузчиком классов сервера приложений.

...