Я не использовал Maven подробноПроект Maven Multi Module
В настоящее время существует 5 различных проектов maven, каждый из которых имеет другой pom.xml. На данный момент существует зависимость зависимости между ними, каждая из которых указывает на другую зависимость в <> при необходимости.
В настоящее время, что мы не подобные
- Когда мы выпускаем ребенка Projecta, то необходимо вручную изменить все проекты, имеющие Projecta как зависимость для использования новой версии. У Saw Maven есть плагин версии, не знаю, как это поможет.
- В качестве решения я хочу иметь более чистую организацию между порами и избежать этого.
Что я думал, что это (может быть неправильным)
Где жир стрелка представляет Родитель ребенка отношения и тонкая стрелка представляет подмодуль. Но это, кажется, не работает, см код и ошибки ниже
проект Ребенка 2 П
<groupId>ChildProject2</groupId>
<artifactId>ChildProject2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>Parent</groupId>
<artifactId>Parent</artifactId>
<version>${parent.version}</version>
<relativePath>../Parent/pom.xml</relativePath>
</parent>
<dependencies> ... </dependencies>
ChildProject2 - Ошибка ошибки сборки проекта: Non-разрешимы родитель POM: Невозможность передачи Родительский: родительский: pom: $ {parent.version} из http://repo1.maven.org/maven2 был , кешированный в локальном репозитории, разрешение не будет повторно загружено до тех пор, пока интервал обновления центрального элемента не истечет, или обновления не будут принудительно изменены. Исходная ошибка: Не удалось передать артефакт Родитель: Родитель: pom: $ {parent.version} из/в центральный (http://repo1.maven.org/maven2): Недопустимый символ в пути по индексу 45: http://repo1.maven.org/maven2/Parent/Parent/ $ {parent.version}/Parent - $ {parent .version} .pom и точки 'parent.relativePath' в неверном местного POM
родитель пОМ
<groupId>Parent</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<parent.version>0.0.1-SNAPSHOT</parent.version>
</properties>
<modules>
<module>../ChildProject2</module>
<module>../ChildProject1</module>
</modules>
<dependencies> ... </dependencies>
GrandParent2 пОМ
<groupId>GrandParent2</groupId>
<artifactId>GrandParent2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<grandparent2.version>0.0.1-SNAPSHOT</grandparent2.version>
</properties>
<modules>
<module>../Parent</module>
</modules>
<dependencies>... </dependencies>
ParentMain.Java
public class ParentMain {
public static void main(String[] args) {
DocumentFactory df = new DocumentFactory();
ChildProject1Main cp1 = new ChildProject1Main();
ChildProject2Main cp2 = new ChildProject2Main();
}
}
ParentMain - Ошибки
-
- ChildProject1Main не может быть разрешен к типу
-
- ChildProject1Main не может быть разрешен к типу
настоящее время я использую Maven Версия 2.2.1 (открыт для обновления, если это может быть решена с помощью обновленной версии Maven) Один из комментариев ниже говорит может решить это с помощью "CI инструментов там таких как Jenkins и TeamCity ».любой указатель (примеры), как решить это, используя Maven (или или Hudson) ??
Что я делаю не так, как получить лучший дизайн для таких зависимостей проекта
Почему вы используете устаревшую версию maven? Версия 3.x устраняет несколько неприятных проблем с управлением зависимостями. В любом случае ваш родительский pom не ссылается на вашего дедушку и родителя, и в любом случае вы не можете иметь более одного родителя. Я не уверен, чего вы пытаетесь достичь, но, вероятно, вам лучше использовать зависимости и удалить циклы. –
Да, поскольку мы не можем иметь двух родителей, следовательно, не смог добавить, был застрял в этом месте, поэтому остановился и искал руководство ... добавил больше описания к моему вопросу, просто чтобы понять, думаю ли я в правильном направлении или нет. – Lav
Если я могу решить это, используя 3.x, конечно, я могу попробовать решение на своей локальной машине ... показывая, что может попросить команду обновиться до 3.x ... любые указатели ... увидели это http://stackoverflow.com/questions/10582054/maven-project-version-inheritance-do-i-have-to-define-the-parent-version – Lav