Я создал родительский проект pom и некоторые библиотеки, которыми я управляю. Так, например:
<parent>
<groupId>my.group</groupId>
<artifactId>parent</artifactId>
<version>1.2.3-SNAPSHOT</version>
</parent>
<dependencies>
...a loooot of them
<dependency>
<groupId>my.group</groupId>
<artifactId>lib</artifactId>
<version>1.2.3-SNAPSHOT</version>
</dependency>
..otheeeeers
</dependencies>
Теперь я хотел бы всегда использовать последний выпуск или снимок, в зависимости от того, на какой я ветке разработка или выпуск. Проблема в том, что «новый» подход maven 3 имеет:
mvn versions:use-latest-releases //release
mvn versions:use-latest-versions //snapshot
Но это обновит все остальные зависимости, и я не хочу этого! Я просто хочу обновить те, которые имеют groupId my.group.
Возможно ли это?
edit:
Следуя советам, которые я использую khmarbaise :
mvn версии: использовать последние версии "-Dincludes = com.project.my: : : : "
Но похоже, что он работает только для версий без снимков. ie. Если я определяю версию моей библиотеки 0.0.2, она работает, в то время как 0.0.2-SNAPSHOT не видна ... это нормально?
Еще одна вещь, которую я заметил, это то, что она работает только для встроенных свойств, например, это не будет работать:
<my-lib.version>0.0.1-SNAPSHOT</my-lib.version>
<groupId>com.project.my</groupId>
<artifactId>mylib</artifactId>
<version>${my-lib.version}</version> <--- undetected, I need to put 0.0.1-SNAPSHOT explicitely