Я хочу получить доступ к форме ресурса моего проекта «\ src \ main \ resources», но по какой-либо причине я могу получить доступ только к целевым классам.
На мой взгляд, на вопрос отвечает @VGR. Просто чтобы прояснить его в других словах:
- Вы помещаете свои ресурсы в папке
/src/main/resources
, и эти ресы будут скопированы как в /target/classes
папку, когда вы строите свой проект.
Пример
src/main/resouces/123.txt -> target/classes/123.txt
src/main/resources/myresources/145.txt -> target/classes/myresources/145.txt
...
Теперь, если вы запустите программу внутри вашего IDE вы будете соблюдать следующие правила:
System.out.println(Main.class.getResource("/123.txt"));
выход: файл:/C:/Users/Raul/рабочее пространство/Серийный/целевой/класс/123.txt
System.out.println(Main.class.getResource("/myresources/145.txt"));
Выход: файл:/C:/Пользователи/Raul/workspace/Serial/target/classes/myresources/145.TXT
Но если открыть сгенерированный jar
файл, который вы не увидите папку target
, поскольку файл 123.txt
будет на корне jar
файла и 145.txt
будет в папке myresources/145.txt
.
Цель папки - это только выходной каталог для инструмента построения и не будет упакован в файл jar.
Теперь следующий вопрос:
проблема заключается в том, что я не знаю, как экспортировать целевые классы в моем банке, или как я могу получить «SRC/основные/RESSOURCES» в качестве возвращаемого значения.
Чтобы ответить на этот вопрос, вы должны заглянуть в свой файл pom.xml
в корень вашего проекта. В нем должна быть запись <packaging>jar</packaging>
. Если это так, вы создаете файл банки следующим образом:
Вариант 1: из командной строки
mvn clean install
файл банк будет создан и скопирован в папку target
.
Вариант 2: внутри Eclipse, (например)
right click on the pom.xml > Run AS > Maven install
файл банка также должен быть сформирован и скопирован в папку target
.
Примечание: на скриншоте есть два файла jar: core-0.0.1-SNAPSHOT.jar
и Serial-0.0.1-SNAPSHOT.jar
; удалите их (mvn clean или щелкните правой кнопкой мыши> Запустить AS> Maven clean) перед созданием файла jar. Причина в том, что Maven может генерировать только один файл jar для модуля/проекта Maven, afaik.
THX за помощь –