Как получить доступ к XML-файлу в проекте maven, чтобы он оставался доступным при упаковке - PullRequest
5 голосов
/ 15 апреля 2010

В настоящее время я начал работать над проектом веб-приложения maven, который должен быть запущен вместе с jetty: run-exploded цель разработки / отладки в eclipse.

Теперь у меня есть файл XML, к содержимому которого я должен обращаться во время выполнения. Моя проблема: куда поместить файл, чтобы код, выполняющий чтение, работал как в «разобранном», так и в упакованном (т.е. в WAR) режиме?

Помещение файла в src / main / java (чтобы он находился в пути к классам) не обрезает его, так как maven отфильтровывает все не-java файлы на упаковке. Когда файл находится в src / main / resources, одним из способов будет выяснить корневой путь проекта (во время разработки eclipse) и заглянуть в этот каталог - но это больше не будет иметь место, когда проект будет упакован .

Конечно, я мог бы заняться написанием кода, который пытается прочитать файл из обоих мест, но это кажется довольно громоздким. Есть предложения?

Ответы [ 2 ]

6 голосов
/ 15 апреля 2010

Файлы в src/main/resources копируются в каталог target/classes и доступны по пути к классам. Просто прочитайте их с пути класса. Как объяснено в Как добавить ресурсы в мой JAR? из документации maven (с тестовым ресурсом здесь):

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

...

// Retrieve resource
InputStream is = getClass().getResourceAsStream("/test.properties" );

// Do something with the resource

...
1 голос
/ 15 апреля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...