Gradle版本与Maven版本不同地解析Maven2快照

问题描述 投票:0回答:1

我正在使用Nexus OSS 3.x,并且我有一个自定义库,正在使用nexus-staging-maven-plugin部署到Nexus存储库。我使用maven部署目标部署快照。然后,我可以将该快照作为依赖项包含在另一个Maven项目的pom.xml中,并正确解析带时间戳的快照。问题是当我现在尝试在Gradle构建中包括该快照依赖项时,Gradle尝试拉低不正确的版本。我在创建的maven-metadata.xml中注意到,Gradle实际上试图解析my-lib-2.0.0-20200225.163947-14.jar,而我的Maven构建正确地解析为my-lib-2.0.0-20200225.163945- 13.jar。这是maven-metadata.xml文件中的内容:

<metadata modelVersion="1.1.0">
   <groupId>com.mycompany</groupId>
   <artifactId>my-lib</artifactId>
   <version>2.0.0-SNAPSHOT</version>
   <versioning>
      <snapshot>
         <timestamp>20200225.163947</timestamp>
         <buildNumber>14</buildNumber>
      </snapshot>
      <lastUpdated>20200225163947</lastUpdated>
      <snapshotVersions>
         <snapshotVersion>
            <classifier>sources</classifier>
            <extension>jar</extension>
            <value>2.0.0-20200225.163945-13</value>
            <updated>20200225163947</updated>
         </snapshotVersion>
         <snapshotVersion>
            <extension>jar</extension>
            <value>2.0.0-20200225.163945-13</value>
            <updated>20200225163947</updated>
         </snapshotVersion>
         <snapshotVersion>
            <extension>pom</extension>
            <value>2.0.0-20200225.163945-13</value>
            <updated>20200225163947</updated>
         </snapshotVersion>
      </snapshotVersions>
   </versioning>
</metadata>
maven gradle nexus
1个回答
0
投票

我想出了问题所在。原来我正在使用的nexus-staging-maven-plugin引起了这一问题。我从pom.xml中删除了该插件(如下所示),并默认使用标准的maven-deploy-plugin,它解决了版本差异(也如下所示):

      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <version>${nexus-staging-plugin.version}</version>
        <executions>
          <execution>
            <id>default-deploy</id>
            <phase>deploy</phase>
            <goals>
              <goal>deploy</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

删除了上述特定于Nexus的插件后,我现在在快照上获得了一致的时间戳和内部版本号。

<metadata modelVersion="1.1.0">
   <groupId>com.mycompany</groupId>
   <artifactId>my-lib</artifactId>
   <version>2.0.0-SNAPSHOT</version>
   <versioning>
      <snapshot>
         <timestamp>20200225.174453</timestamp>
         <buildNumber>22</buildNumber>
      </snapshot>
      <lastUpdated>20200225174453</lastUpdated>
      <snapshotVersions>
         <snapshotVersion>
            <extension>jar</extension>
            <value>2.0.0-20200225.174453-22</value>
            <updated>20200225174453</updated>
         </snapshotVersion>
         <snapshotVersion>
            <extension>pom</extension>
            <value>2.0.0-20200225.174453-22</value>
            <updated>20200225174453</updated>
         </snapshotVersion>
         <snapshotVersion>
            <classifier>sources</classifier>
            <extension>jar</extension>
            <value>2.0.0-20200225.174453-22</value>
            <updated>20200225174453</updated>
         </snapshotVersion>
      </snapshotVersions>
   </versioning>
</metadata>
© www.soinside.com 2019 - 2024. All rights reserved.