web-dev-qa-db-ja.com

Maven SNAPSHOTリポジトリからSNAPSHOTバージョンをダウンロードする方法は?

私にはプロジェクトがあり、問題なくMavenに定期的にリリースしています。このプロジェクトのスナップショットバージョンを利用できるようにしたいと思います。そこで、「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マネージャーに行き、スナップショットを見つけることができます: enter image description hereenter image description here

しかし、今、このスナップショットを別のマシンの他のプロジェクトの依存関係として使用しようとすると取得します:

<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

プロジェクトのWebサイトからファイルを手動でダウンロードしてみてください。

次に、コマンドを使用してインストールします: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にスナップショットバージョンをローカル(.m2)リポジトリにダウンロードさせるのですか?

31
chrisapotek

これを〜/ .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>
52
JohnPristine

完全を期すために、プロジェクトのpom.xmlを変更することでも可能です。追加するだけです。

    <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>

リポジトリのリストへ。

私の意見では、これは~/.m2/settings.xmlを変更するよりも優れたソリューションです。 pom.xmlファイルは、Gitを通じて他のプロジェクト参加者も利用でき、スナップショットもダウンロードできるようになります。

ソース: この回答

3
Thomas Kainrad

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

スナップショットを有効にするように設定されていますか?

2
Dave Newton

リポジトリー構成(〜/ .m2/settings.xml)でスナップショットを有効にできます。

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

その他のプロパティについては、 maven.Apache.org/settings.html#Repositories をご覧ください。

0
Bohdan