2015-06-03 6 views
0

У меня есть проект мульти-модуль выглядит следующим образом:Maven включают источники тестов в зависимости

module-A 
--POM.xml 
    --sourceDirectory 
    --SourceA.java 
    --testSourceDirectory 
    --testSourceA.java 
module-B 
--POM.xml 
    --sourceDirectory 
    --SourceB.java 
    --testSourceDirectory 
    --testSourceB.java 
...many similar modules 

ParentModule 
--POM.xml 
    --dependency 
    --module-A 
    --module-B 
    ... 
    --module-x 

У меня есть ParentModule, чтобы получить доступ к исходным файлам (SourceA.java) в A, B, и т.д. в Netbeans использует «Перейти к типу», не открывая все модули в качестве проектов. Но, похоже, с простой зависимостью я не могу получить доступ к ресурсам sourcesourcedirectory (testSourceA.java).

Есть ли теги, которые позволили бы моему ParentModule видеть и индексировать все теги testSourceDirectories в модулях?

ответ

0

Я думаю, что у вас есть что-то принципиально неправильное. Maven - это инструмент построения - см. Maven's Introduction. Это не инструмент для поддержки обработки ваших источников в IDE по вашему выбору.

Кроме того, зависимость, как заявлено в Maven, является модулем/артефактом/библиотекой, в которой ваш код основан на времени исполнения. Итак, нет смысла объявлять ваши тестовые источники, которые используются только как часть цикла разработки, в качестве (runtime) зависимостей.

+0

Мы делаем этот проект по следующим двум причинам: 1. В Netbeans мы можем использовать go для ввода типа быстрого доступа к исходным файлам (большой проект сотен модулей). 2. Можете переконвертировать изменения кода, компилируя модуль, а не весь проект. Я знаю, что это не традиционное использование, а просто попытка убедиться, что это выполнимо. – tom

+0

Re 1: Недавно я использовал Netbeans. В Eclipse это одна комбинация клавиш ('Ctrl + Shift + T') для доступа к любому типу с помощью (даже частичного) имени. Re 2: Я согласен, это хорошая идея, чтобы разделить большой проект на более мелкие модули. Однако я считаю менее целесообразным ввести дополнительный, искусственный (родительский) модуль, чтобы попытаться достичь чего-то, для чего не предназначен Maven. –

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