Maven 3.0.3 использует старый плагин JUnit, в котором нет пакета org.junit.*

Я использую Hudson и пытаюсь создать проект maven из репозитория subversion. Проблема в том, что Maven загружает старую версию junit, я думаю, потому что я нашел это:

Загрузка: ..repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom Загружено: ..repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8 .1.pom (998 Б при 2,0 КБ/с)

Позже он жалуется, что пакет org.junit.* не существует.

Когда вместо этого я позволяю Hudson создать локальную копию этого проекта (без управления подрывной деятельностью), он запускает тест junit:

T E S T S

Запуск JUnitTest...

Мой pom.xml выглядит так:

http://codeviewer.org/view/code:2227

(Я также пробовал junit 4.8.2 без квадратных скобок, что ничего не помогло.)

Как запустить тесты JUnit?


person user1160343    schedule 20.01.2012    source источник


Ответы (1)


Хотя в pom указан junit dependency с версией 4.8.2, он находится между тегом <dependencyManagement>. Таким образом, эта версия не будет использоваться, если зависимость не будет явно определена в сборке.

Вы можете решить проблему двумя способами.

Удалите внешний тег <dependencyManagement> — просто сохраните содержимое.

Определите следующее в дополнение к тому, что присутствует в файле pom между тегами <dependencyManagement> и <build>.

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>
</dependencies>

ссылка на POM

person Raghuram    schedule 20.01.2012
comment
@user1160343. Вы можете проголосовать/принять ответ. См. meta.stackexchange.com/questions /5234/ - person Raghuram; 21.01.2012