代码之家  ›  专栏  ›  技术社区  ›  Sumit Singh phluid

用限定符tycho替换快照

  •  1
  • Sumit Singh phluid  · 技术社区  · 10 年前

    我正在使用Tycho(0.19)构建我的eclipse插件。

    在里面 MENIFEST.MF 我的插件ID是 1.0.0.qualifier ,在相同plgugin的pom文件中没有版本,因为主pom有版本 1.0.0-SNAPSHOT (甚至我也尝试将版本放在插件中,但结果相同)

    当我运行构建时,我的插件 PLUGIN_NAME.1.0.0.SNAPSHOT.jar

    问题: 为什么构建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's 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] 
    
    2 回复  |  直到 10 年前
        1
  •  1
  •   blackbuild    10 年前

    jar文件名由控制 finalName 。如果您查看此jar中的Manifest文件,它将显示正确的限定版本。

    如果使用插件创建p2存储库,它们将包含正确的文件名。

    从专家的角度来看,坐标必须与POM匹配,因此版本仍然是-SNAPSHOT。

        2
  •  0
  •   B. Robinson    10 年前

    我相信@blackbuild是正确的。

    运行maven包以创建jar的版本。SNAPSHOT版本如下所示:

    • 组织XXX-1.0.0-SNAPSHOT.jar

    但是,当您将SNAPSHOT部署到存储库时,maven将设置版本号。它在存储库中的样子如下:

    • 组织XXX-1.0.0-20121231.173602-4.jar

    注意,maven deploy将SNAPSHOT一词翻译为一个版本。 看见 http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html