How to download SNAPSHOT version from maven SNAPSHOT repository?

吃可爱长大的小学妹 提交于 2019-11-27 11:21:22

问题


So I have a project and I do regular releases to maven without a problem. I now want to make available a SNAPSHOT version of this project. So I do 'mvn clean deploy'. Everything works as you can see below:

[INFO] Retrieving previous build number from sonatype-nexus-snapshots Uploading: 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 uploaded (menta-regex-0.9.6-20111010.153035-2.jar)

I go to my sonatype manager and I can find the snapshot:

But now when I try to use this snapshot as a dependency on some other project in another machine I get:

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

Missing:

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

Try downloading the file manually from the project website.

Then, install it using the command: mvn install:install-file -DgroupId=me.soliveirajr -DartifactId=menta-regex -Dversion=0.9.6-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file

Alternatively, if you host your own repository you can deploy the file there: 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]

So how do I force maven to download the SNAPSHOT version to my local (.m2) repository?


回答1:


Just add this to your ~/.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>



回答2:


For the sake of completeness, I would like to add that it is also possible by modifying the pom.xml of a project, simply add

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

to your list of repositories.

In my opinion, this is a better solution than modifying ~/.m2/settings.xml. The pom.xml file will also be available for other project participants through Git and allow them to download the snapshots as well.

Source: this answer




回答3:


http://maven.40175.n5.nabble.com/How-to-enable-SNAPSHOT-td130614.html

Are you configured to enable snapshots?




回答4:


You can enable snapshots in repository config (~/.m2/settings.xml):

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

See maven.apache.org/settings.html#Repositories for more properties.



来源:https://stackoverflow.com/questions/7715321/how-to-download-snapshot-version-from-maven-snapshot-repository

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!