Как использовать ресурсы Maven также в качестве тестовых ресурсов - PullRequest
11 голосов
/ 05 июня 2010

У меня есть проект maven, который загружает файл xslt и выполняет преобразование вместе с другой обработкой результата. Обычно, когда пользователь запускает приложение, он указывает путь к файлу xslt для загрузки. Но я включаю некоторые файлы xslt по умолчанию, связанные с моим приложением, которые пользователь может использовать без загрузки какого-либо внешнего файла xslt. Я делаю это, добавляя их в src / main / resources / xslt. Моя проблема в том, что я хочу запустить тесты для этих файлов xslt на этапе тестирования. Как мне этого добиться? Должен ли я скопировать содержимое src / main / resources / xslt в target / куда-нибудь и загрузить их в мой код тестовых классов? Какой плагин для этого используется?

Ответы [ 2 ]

17 голосов
/ 05 июня 2010

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

Ничего не поделаешь, target/classes находится на пути класса тестов. Точнее, путь класса для тестов:

  • первый target/test-classes
  • , затем target/classes
  • затем dependencies

Таким образом, ресурсы из src/main/resources (которые копируются в target/classes) видны из тестов.

2 голосов
/ 10 октября 2012

Если вы поместите файл foo.txt внутри src/test/resources/, вы можете открыть его через:

// try-with-resource (Java 1.7)
try (InputStream is = getClass().getClassLoader().getResourceAsStream("foo.txt")) {
    // do something with is...
}

Вы также можете взглянуть на maven-resources-plugin .

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