2015-05-12 2 views
0

Предположим, что у меня есть этот код в проекте A:Как получить файлы в каталоге jar-файла в java?

public class test { 
    public void myMethod() { 
      String directoryPath = classLoader.getResource("") + "/templates/code/"; 
      // code to read directory files 
    } 
} 

Первая проблема

и имеют некоторые специфические файлы в каталоге resources/templates этого проекта. и хотите получить все файлы, которые находятся в каталоге resources/templates.

Я добавлен этот проект как зависимость от другого проекта с именем B и хочу позвонить myMethod.

настоящее время, myMethod отлично работает при вызове в проекте A, но когда я называю его в B проекте проливает FileNotFoundException.

Я называю myMethod в проекте B, как вы видели ниже:

public class myClass { 
    public static void main(String[] args) { 
      myMethod(); 
    } 
} 

ПРИМЕЧАНИЕ

1- Оба, что проекты, это весна, проект Maven

2- Когда i build project B, файл jar проекта A находится в WEB-INF/lib каталоге B.

ответ

0

Во-первых, вы можете использовать getResource для работы с файлами следующим образом:

URL directoryPath = classLoader.getResource("resources/templates"); 
    File f = new File(directoryPath.getFile()); 

НО, когда приложение развернуто в банке, вы не можете получить доступ к RESSOURCES с «Файл» больше. Вам нужно прочитать содержимое файла jar.

Вот ссылка, которая поможет вам: How do I list the files inside a JAR file?

Смежные вопросы