2012-02-14 1 views
4

У меня есть проект Maven в Netbeans 7.1 IDE.Проект Maven в Netbeans: как добавить зависимость от зависимостей «Зависимости» и «Зависимости тестирования»?

Я хотел бы добавить ту же зависимость как к Dependencies, так и к Test Dependencies.

Добавление к одному удаляет его из другого.

Дублирование зависимость в pom.xml и в том числе в одном из них:

<scope>test</scope> 

..doesn't работу либо.

Помощь!

Подробнее:

Предположим, у меня есть проекты MyProject и MyDependency.

MyProject содержит MyDependency в объеме по умолчанию (то есть compile области видимости) зависимость:

<dependencies> 
      <dependency> 
        <groupId>my.group.id</groupId> 
        <artifactId>AnArtifactId</artifactId> 
        <version>1.0-SNAPSHOT</version> 
      </dependency> 
</dependencies> 

MyProject содержит несколько классов в Source Packages папке (т.е. MyProject/src/main/...), которые ссылаются на классы в пределах MyDependencyисточника пакетов. Они работают отлично; Netbeans не показывает красных флажков ошибок, и эти классы успешно компилируются.

MyProject содержит несколько классов в папке Test Packages (т.е. MyProject/src/test/...), которые ссылаются на классы в пределах MyDependencyтеста пакетов. Netbeans отображает красные флаги ошибок в MyProject для этих ссылок.

MyDependency был очищен, изготовлен и хранится в местном репозитории Maven с использованием mvn clean install -DskipTests. Выполнение той же команды для MyProject вызывает ошибки только в тестовых классах; классы нетестирования компилируются штрафом.

ответ

2

я обнаружил решение дублировать запись П зависимости следующим образом:

<dependencies> 
      <dependency> 
        <groupId>my.group.id</groupId> 
        <artifactId>AnArtifactId</artifactId> 
        <version>1.0-SNAPSHOT</version> 
      </dependency> 
      <dependency> 
        <groupId>my.group.id</groupId> 
        <artifactId>AnArtifactId</artifactId> 
        <version>1.0-SNAPSHOT</version> 
        <scope>test</scope> 
        <type>test-jar</type> 
      </dependency> 
</dependencies> 

Указания исключительно <scope>test</scope> будет означать, что сосуд, содержащий исходные пакеты MyDependency следует использовать в качестве зависимости для тестовых пакетов MyProject ,

Однако, указав <type>test-jar</type>, тестовая упаковка (то есть упаковка, содержащая тестовые пакеты) для MyDependency используется в качестве зависимости для тестовых пакетов MyProject.

0

Dependencies автоматически Test Dependencies также, но не наоборот.

+0

Спасибо, я так думал. Так почему же мои классы в «Source Packages» распознают зависимость, но те, что в «Пакетах тестов», не могут? Это не просто глюк Netbeans, попытка построить с 'mvn' в bash не работает для тестовых классов :(Может быть, потому, что я использовал ссылки, используемые тестами, в« тестовые пакеты »в моей зависимости?может ли тестовый пакет проекта видеть тестовый пакет зависимости, когда зависимость является значением по умолчанию компиляция? – KomodoDave

+0

Опубликуйте свой файл POM. –

+0

Я не могу из-за политики компании. Однако я добавил к моему OP столько дополнительной информации, как мне кажется, будет полезно. Любые дальнейшие рекомендации будут очень оценены. – KomodoDave

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

  • Нет связанных вопросов^_^