Я создаю свой плагин eclipse, используя Tycho (0.19).
В MENIFEST.MF Мой идентификатор плагина 1.0.0.qualifier
, в pom файле для того же plgugin нет версии, потому что master pom имеет версию 1.0.0-SNAPSHOT
(даже я попытался поместить версию в плагин, но тот же результат)
Когда я запустил сборку, я получаю свой плагин как PLUGIN_NAME.1.0.0.SNAPSHOT.jar
Ques: Почему в файле сборки jar файл SNAPSHOT не заменяется меткой времени?. Чего мне не хватает..?
Мастер POM
<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>my.group</groupId>
<artifactId>plugin.releng</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
....
</project>
Плагин POM
<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>
<artifactId>my.plugin</artifactId>
<packaging>eclipse-plugin</packaging>
<parent>
<groupId>my.group</groupId>
<artifactId>plugin.releng</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../plugin.releng</relativePath>
</parent>
</project>
Консольный выход
[INFO] --- tycho-packaging-plugin:0.19.0:build-qualifier (default-build-qualifier) @ my.plugin ---
[INFO] The project OSGi version is 1.0.0.201403281132
[INFO]
[INFO] --- tycho-packaging-plugin:0.19.0:validate-id (default-validate-id) @ my.plugin ---
[INFO]
[INFO] --- tycho-packaging-plugin:0.19.0:validate-version (default-validate-version) @ my.plugin ---
[INFO]
Имя файла jar контролируется finalName
. Если вы заглянете в файл манифеста в этой банке, он покажет правильную версию.
Если вы создадите репозиторий p2 с вашими плагинами, они будут содержать правильные имена файлов.
С точки зрения maven координаты должны соответствовать POM, и поэтому версия все еще -SNAPSHOT.
Я считаю, что @blackbuild верна.
Запустите maven пакет, чтобы создать версию фляги. Версия SNAPSHOT будет выглядеть так:
Но при развертывании SNAPSHOT в репозитории maven установит номер версии. Он будет выглядеть так в репозитории:
Обратите внимание, что maven deploy переводит слово SNAPSHOT в версию. См. Http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html.