2015-10-15 7 views
-1

После того, как я прошел через несколько вопросов stackoverflow и документов о связях maven pom.xml, я все еще запутался.Проект Maven, который зависит от другого проекта

У меня есть проект с собственным pom.xml

-src/MyProject 
-src/MyProject/POM.XML 

Теперь мне нужно включить другой проект третьего Party

-src/MyProject 
-src/MyProject/POM.XML 
-src/OtherProject 
-src/OtherProject/POM.XML 

мне сейчас нужно сказать Maven, когда его строительство MyProject POM. XML другой POM.XML должен быть обработан и включен.

Причина: мне нужно не только банку, построенный из OtherProject как зависимость, но что более важно: мне нужно все зависимости (банки) от OtherProject, а также для MyProject (и я не хочу, чтобы войти каждый jar как зависимость вручную для MyProject, которые уже правильно определены в OtherProjects POM.XML).

Каковы возможные решения для этого?

+0

Вы просто добавили зависимость внутри POM? MyProject? – Tunaki

+0

Maven poms не работают, «включая» их друг в друга; они вместо этого создают иерархию .. см. http://www.mastertheboss.com/jboss-frameworks/maven-tutorials/jboss-maven/maven-multi-module-tutorial –

+0

Также найдите, как указать модули в MyProject pom , это создаст ваш дочерний проект, прежде чем создавать свой «MyProject». –

ответ

1

Вы можете сделать многомодульное приложение maven , состоящее из нескольких проектов (называемых «модулями»). Многомодульное приложение размещает все проекты и так называемый мастер pom.xml, в котором определены прикладные модули. Каждому модулю также придется удерживать свой собственный pom.xml.

Таким образом, ваша структура каталогов хотел:

/application 
|---/project1 
|---/project2 
|---pom.xml 

Мастер pom.xml будет определять модули приложения:

<project ...> 
    <modelVersion>4.0.0</modelVersion> 
    <packaging>pom</packaging> 

    <modules> 
     <module>project1</module> 
     <module>project2</module> 
    </modules> 

    <dependencyManagement> ... </dependencyManagement> 
    ... 
</project> 

Определено, как это, project1 будет строить до того project2.

+0

Итак, в моем примере, я бы создал проект, который добавляет оба моих проекта в виде модулей? Или вы имеете в виду, что я добавляю проект зависимости в качестве модуля в свой основной проект? (Поскольку у меня была бы зависимость от project2 к project1, но модули afaik должны быть независимыми друг от друга) – Gobliins

+0

Да, я хотел создать проект, содержащий оба проекта. –

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