繁体   English   中英

如何从 maven SNAPSHOT 存储库下载 SNAPSHOT 版本?

[英]How to download SNAPSHOT version from maven SNAPSHOT repository?

所以我有一个项目,我定期发布到 maven 没有问题。 我现在想提供这个项目的 SNAPSHOT 版本。 所以我做'mvn clean deploy'。 一切正常,如下所示:

[信息] 从 sonatype-nexus-snapshots 中检索以前的版本号 上传: https ://oss.sonatype.org/content/repositories/snapshots/me/soliveirajr/menta-regex/0.9.6-SNAPSHOT/menta-regex-0.9 .6-20111010.153035-2.jar 5K 上传(menta-regex-0.9.6-20111010.153035-2.jar)

我去我的 sonatype 管理器,我可以找到快照: 在此处输入图片说明在此处输入图片说明

但是现在,当我尝试将此快照用作对另一台机器上某个其他项目的依赖时,我得到:

<dependency>
  <groupId>me.soliveirajr</groupId>
  <artifactId>menta-regex</artifactId>
  <version>0.9.6-SNAPSHOT</version>
</dependency>

丢失的:

1) me.soliveirajr:menta-regex:jar:0.9.6-SNAPSHOT

尝试从项目网站手动下载文件。

然后,使用以下命令安装它: mvn install:install-file -DgroupId=me.soliveirajr -DartifactId=menta-regex -Dversion=0.9.6-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file

或者,如果您托管自己的存储库,您可以在那里部署文件: mvn deploy:deploy-file -DgroupId=me.soliveirajr -DartifactId=menta-regex -Dversion=0.9.6-SNAPSHOT -Dpackaging=jar -Dfile=/path /to/file -Durl=[url] -DrepositoryId=[id]

那么如何强制 maven 将 SNAPSHOT 版本下载到我的本地 (.m2) 存储库?

只需将其添加到您的 ~/.m2/settings.xml 中:

<profiles>
  <profile>
     <id>allow-snapshots</id>
        <activation><activeByDefault>true</activeByDefault></activation>
     <repositories>
       <repository>
         <id>snapshots-repo</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
         <releases><enabled>false</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
       </repository>
     </repositories>
   </profile>
</profiles>

为了完整起见,我想补充一下,也可以通过修改项目的pom.xml ,只需添加

 <repositories>
    <repository>
      <id>oss.sonatype.org-snapshot</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

到您的存储库列表。

在我看来,这是比修改~/.m2/settings.xml更好的解决方案。 pom.xml文件也可通过 Git 供其他项目参与者使用,并允许他们下载快照。

来源:这个答案

您可以在存储库配置 (~/.m2/settings.xml) 中启用快照:

<settings>
    <profiles>
        <profile>
          <repositories>
            <repository>
              <snapshots>                  <<<<<<<<<<<
                <enabled>true</enabled>    << ADD THIS
              </snapshots>                 <<<<<<<<<<<
  . . .
</settings>

有关更多属性,请参阅maven.apache.org/settings.html#Repositories

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM