2016-04-06 5 views
1

У меня есть ниже структуры проектаКак поделиться зависимостями проекта между несколькими проектами в Maven?

Main Project 
--Sub Project 1 
    - child 1 
     * pom-child1 
    - child 2 
     * pom-child2 
    * pom-sub-project1 

--Sub Project 2 
     * pom-sub-project2 
* main project pom 

Я определил несколько зависимостей проекта в главном проекте П и передал его в детстве и суб POMS проекта. Но я нахожу проблемы, если pom не является прямым ребенком основного проекта pom. Есть ли способ разрешить это?

Пример, Основной проект ПОМ

<packaging>pom</packaging> 
<version>dev</version> 
<name>parent-project</name> 
.. 
<properties><spring-version>3.1.0.RELEASE</spring-version></properties> 

ребенка POM

<parent> 
     <groupId>com.test.pkg</groupId> 
     <artifactId>test-proj</artifactId> 
     <version>${project.version}</version> 
    </parent> 

в $ {project.version} не будет решена, если он не является прямым потомком родительского ПОМ из-за которые ни одна из зависимостей проекта не разрешена.

Кроме того, я прочитал около properties-maven-plugin, который используется для чтения свойств из файла внешних свойств. Может ли это использоваться для чтения версии зависимостей или есть ли какой-либо другой плагин/подход, который можно было бы использовать в этом случае?

+0

является основным проектом pom, также определяемым как родительский элемент подпроекта 1 и 2? являются субпроектами, определяемыми как родительские дочерние проекты? с какой проблемой вы сталкиваетесь? –

+0

Какое соединение не работает? Между этими проектами? – Christian

+0

@ A.DiMatteo Ex: В рамках основного проекта у меня есть разные веб-проекты (sub-proj 1,2 ..) независимо друг от друга. Каждый из этих веб-проектов имеет вспомогательные модули, которые могут быть общими библиотеками, другими связанными с ними веб-проектами. У каждого из них есть своя поместья. Файл pom основного проекта имеет зависимости и версию проекта, которые могут быть доступны только в том случае, если он является прямым суб-помпом в базовых подмодулях, версия проекта или зависимости не разрешаются во время сборки. Добавление дополнительной информации к вопросу – Poppy

ответ

0

Вы не можете использовать

${project.version} 

определить ваши родители версию, потому что ребенок по умолчанию наследует версию родителей.

Установите родительскую версию с допустимым значением, а не с имуществом.

Если вы это сделаете, он должен работать, и вам не нужно указывать версию childs, так как она будет унаследована от родителя.

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