Это упрощенный пример проекта ear, родительский pom объединяет EAR, EJB и jars.
У меня есть эта структура в проекте Maven, хранящаяся в SVN:
parent/
|- pom.xml
|- modulA/
| |- pom.xml
|- modulB/
| |- pom.xml
modulB имеет Зависимость от modulA
Pom.xml имеет секцию модулей
<modules>
<module>modulA</module>
<module>modulB</module>
</modules>
И секцию управления зависимостями
<dependencyManagement>
<dependencies>
<dependency>
<groupId>group</groupId>
<artifactId>modulA</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>group</groupId>
<artifactId>modulB</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
Подпрограмма-модули ссылаются на родительский
<parent>
<groupId>group</groupId>
<artifactId>parent</artifactId>
<version>0.0.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
на моем ПК, когда я впервые компилирую с maven 2.2.1 (windows)
mvn clean compile
У меня нет проблем
но .... когда Дженкинс пытается скомпилироваться впервые (Maven 2.2.1 Linux RedHat)
Missing:
----------
1) modulA:jar:0.0.2-SNAPSHOT
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=group -DartifactId=modulA -Dversion=0.0.2- SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=group -DartifactId=modulA -Dversion=0.0.2-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) modulB:ejb:0.0.2-SNAPSHOT
2) modulA:jar:0.0.2-SNAPSHOT
----------
1 required artifacts are missing.
Почему ????????
Послечто если я разверну проект с моего компьютера в Artifactory, у Jenkins не возникнет проблем, потому что Jenkins загружает артефакт из хранилища ... но почему Jenkins зависит от артефактов в хранилище? *
:(
Заранее спасибо
РЕДАКТИРОВАТЬ:
Я думал, что зависимостьManagemeРаздел nt только «определяет» зависимости, но если подмодуль не использует зависимость, зависимость не добавляется в подмодуль.Я отбрасываю раздел dependencyManagement, и проблема в Jenkins по-прежнему возникает.
Он работает на моем компьютере без проблем.