2014-11-02 1 views
0

Я новичок maven. Мой тестовый проект зависит от проекта модуля (extended-java-client). Мне нужно запустить «mvn clean package» на пути к модулю, который дает мне extended-java-client-Jar.maven package subodule и проверить родителя

Затем мне нужно запустить «mvn clean install test» для запуска тестового проекта. но он не работает, он не нашел модуль. (я уже добавил теги module/parent в файл pom.xml)

Любая идея? Заранее спасибо

Это структура моего проекта:

Project A 
    *Extended-java-client(Module) 
     *pom.xml (jar file) 
    *src(the test classes) 
    *pom.xml 

с расширенным сроком> pom.xml

<parent> 
     <groupId>project name</groupId> 
     <artifactId>project name</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <relativePath>../pom.xml</relativePath> // path to main pom 
    </parent> 

project-> pom.xml

<modules> 
    <module>extended-java-client</module> 
</modules> 

ответ

0

Когда вы создаете extended-java-client, вы должны использовать прогон $ mvn clean install вместо $ mvn clean package

Причина: package создает банку, но оставляет ее внутри каталога extended-java-client/target/, так что файл jar отображается только для одного проекта.

Вызов install копирует банку в то, что Maven называет «местным репо», чтобы другие проекты (например, ваш тестовый проект) могли получить к нему доступ.

Надеюсь, что это поможет.

0

Что именно вы подразумеваете под номером «это не работает»? Есть ошибки сообщение Вы можете поставить?

Я бы рекомендовал использовать Standard Directory Layout, особенно, если начать с Maven.

Однако вам не обязательно запускать mvn clean install test. Фаза test выполняется до фазы install (а также до фазы package) автоматически.

См. Introduction to the Build Lifecycle, Default Lifecycle: «Эти фазы сборки [...] выполняются последовательно для завершения жизненного цикла по умолчанию».

+0

не удалось выполнить тесты. он не распознает модуль классов. – user3132709

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