Пересмотренный вопрос (старый вопрос ниже):
Проблема: при создании и запуске проекта плагина Jenkins в NetBeans с использованием Maven загрузчик классов Java, используемый log4j, не находит файлы (например, файл конфигурации, пользовательский приложение, JDBC-драйвер). Их нужно скопировать в другое место под target
, а затем они будут найдены.
Я думаю, что это решение: Я хочу предоставить maven дополнительный аргумент командной строки, настроенный в NetBeans. Это должно сделать maven сделать дополнительный шаг после сборки и перед запуском чего-либо. Этот шаг может быть либо копированием файлов (указанным в pom.xml, либо аргументами команды), либо может быть запущен script (указанный в pom.xml или аргументами командной строки).
Что добавить в pom.xml? Какой-то плагин maven?
Старый вопрос (для справки)
У меня есть проект maven для "my-jenkins-plugin". Мне нужно использовать log4j. В настоящее время у меня есть log4j.xml по этому пути:
./src/main/resources/log4j.xml
Когда я очищаю и создаю Netbeans, он копируется в эти места:
./target/classes/log4j.xml
./target/generated-classes/emma/classes/log4j.xml
./target/my-jenkins-plugin/WEB-INF/classes/log4j.xml
Однако log4j не находит файл из любого из этих мест. Мне нужно вручную скопировать его в это место:
./target/work/webapp/WEB-INF/classes/log4j.xml
И тогда он работает так, как ожидалось.
Подробнее: Maven 2, Netbeans 7.2. Это стандартный плагин Jenkins, проект изначально созданный с помощью mvn hpi:create
, а Netbeans использует Jetty для запуска Jenkins. Путь к классам, используемый при работе под NetBeans, - это java.class.path=C:\work\maven\boot\classworlds-1.1.jar
(который является существующим банком), и я не нашел способ добавить что-либо к этому пути к классам, но если я добавлю log4j.xml в корень этого файла jar, он также будет найден и работает (очевидно, это не удовлетворительное решение). Я знаю, работает ли log4j или нет, просто посмотрев на вывод консоли, либо это правильные строки журнала, либо страшная ошибка log4j:WARN No appenders could be found for logger (TestLog). log4j:WARN Please initialize the log4j system properly.
, и ничего больше.
Вопрос. Как я могу использовать
- log4j.xml, найденный в первом наборе местоположений,
- или log4j.xml, найденный в местоположении вне целевого каталога, например C:\log4j\log4j.xml
- или сделать maven и/или netbeans скопировать log4j.xml в место, где он находится сейчас
- или любой другой хороший способ позволить мне предоставить мой плагин log4j.xml после очистки и сборки автоматически, при отладке с NB?