0

私は、Nexus/Maven と対話するためのスクリプトを作成する任務を負っています。私が Maven で作業しているファイルは、シェル スクリプトで使用されるという特定のアイデアで配置された XML ファイルです。基本的に、ファイルは別のアプリケーションの構成です。

リポジトリからファイルを取得するためのスクリプトは既に完了していますが、ファイルをリポジトリに配置する際に問題が発生しています。ファイルをプルするために、プラグインの依存関係を使用しています:get.

私が必要としているのは、多かれ少なかれそのプラグインの反対です。ファイルの新しいバージョンでリポジトリを更新するもの。「mvn deploy:deploy-file」を使用する必要があると思います。それはうまくいきますか?

もしそうなら、私が抱えている次の問題は、認証を設定する方法を理解できないように見えることです. 正しい承認情報を含むサーバーが定義された設定ファイルがありますが、サーバーとリポジトリ (または URL?) 間のリンクがなく、承認が正しく実行されません。

mvn が正しいアクションの実行を承認されるように、リポジトリ URL を settings.xml ファイルのサーバー情報に接続するにはどうすればよいですか? (Maven の .pom ファイルがどこにあるのかわからず、変更する権限がない可能性があります。)

ありがとう、

ショーン。

4

2 に答える 2

0

問題は -Durl オプションにあることが判明しました。

dependency:get プラグインを使用すると、URL は次のようになります。

-Durl=http://companymavenrepo

そして、依存関係プラグインではうまくいきました。

ただし、 deploy プラグインを使用してリポジトリに物を入れようとすると、それだけでは不十分です。URL には、maven サーバーと、アーティファクトを配置する正確なリポジトリが含まれている必要があります。(私の用語は間違っているかもしれません。) 私は Nexus/Sonatype の Web ページにアクセスし、アーティファクトが保存されている正確なリポジトリを調べてから、次のようなものを使用しました。

-Durl=http://companymavenrepo/nexus/content/repositories/this_maven_repo

これで認証の問題は解決し、問題なくファイルをリポジトリに追加できました。

(これは、私が使用しようとしていた両方の mvn コマンド ラインを投稿した場合、他の人が見やすくなった可能性があります。一方、1 つのコマンド ラインで特定の値を指定して -Durl オプションを使用すると、別のコマンド ラインで変更せずに動作するように動作します)。

ショーン。

于 2012-08-14T15:08:32.533 に答える
0

deploy:deploy-file正しい。-Durl=http://repo:port/path、 で使用し-DrepositoryId=server-whateverます。収容settings.xmlする必要があります

 <servers>
    <server>
      <id>server-whatever</id>
      <username>demo</username>
      <password>demo</password>
    </server>
  </servers>

ここで、サーバー IDはパラメーターserver-whateverと一致しrepositoryIdます。

そうは言っても、これに対するMavenの適切性には疑問があります。構成ではなく、バイナリ アーティファクト用に設計されています。

于 2012-08-11T12:20:16.983 に答える