Я уже создаю банку, которая содержит некоторые распространенные банки, которые мы будем использовать в разных приложениях и может использоваться многими пользователями.Создайте банку, которая содержит управление зависимостями maven
Чтобы решить эту проблему, я создаю общие банки, поэтому я могу управлять этими базами данных и их версиями, а затем хранить их на сервере nexus, чтобы он мог содержать родительский pom и может использоваться многими разработчиками.
Так я создать простое приложение Maven Java и в П этой баночки, я поставил, например:
Родитель П
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.emp</groupId>
<artifactId>dependencymanager</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
Тогда в дочерних приложениях я использую эту баночку, как это:
<dependencies>
<dependency>
<groupId>com.emp</groupId>
<artifactId>dependencymanager</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
Но когда я пытаюсь использовать org.primefaces
, я не могу. Где я ошибаюсь, или я ошибаюсь в реализации управления зависимостями?
Примечание
Я уже прочитал это: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
Таким образом, в примере данного руководства не указать версию родительского ПОМ, поэтому, когда я удалить его показать мне ошибку, как это:
'dependencies.dependency.version' for com.emp:dependencymanager:jar is missing.
Вопрос
- Как я могу реализовать управление зависимостями в этом случае?
- Есть ли лучший способ, чтобы это работало с такими же зависимостями с многими проектами и многими devellopers.
- Я использую нексус хранить свои банки
спасибо.
спасибо @cello, когда я удаляю 'dependencyManagement', он работает нормально, эта часть решена, так что, если я, например, меняю версию' primefaces', тогда сохраните эту банку в nexus, версия может быть изменена для всех пользователей? –
, до тех пор, пока пользователи не добавят свои собственные страницы с другой версией, тогда будет использоваться версия, указанная в родительском pom. – cello
так почему люди говорят о 'dependencyManagement' как, где и когда я могу его использовать? –