2011-08-29 25 views
6

私はMaven 3を使用しています。サードパーティのアーティファクトをリモートリポジトリに展開しようとしていますが、奇妙なエラーが発生しています。私が展開して使用しているコマンドはMaven:サードパーティのJARをリモートリポジトリにデプロイする際の問題

mvn deploy:deploy-file -DgroupId=com.myco.util.ant \ 
    -DartifactId=selenium-ant-task \ 
    -Dversion=1.4 \ 
    -Dpackaging=jar \ 
    -Dfile=/Users/davea/.m2/repository/com/myco/util/ant/selenium-ant-task/1.4/selenium-ant-task-1.4.jar \ 
    -DrepositoryId=sonatype-nexus \ 
    -Durl=http://sonatype.myco.com/nexus/content/repositories/releases 

であり、私は、このコマンドを実行したときに私が手にエラーがここで何が起こっている

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file (default-cli) on project maven-selenium-plugin: The parameters 'url' for goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy-file are missing or invalid -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 

のですか?私は〜/ .m2/settings.xmlファイルに "ssonatype-nexus"というリポジトリIDを定義し、そこに正しい資格情報があることを確認しました。任意の助け

おかげで、 - あなたのURLが正しくフォーマットされたようにデーブ

+1

'完全なデバッグログを有効にするために-Xスイッチを使ってMavenを再実行してください.'エラーを修正するのに役立ちます: – Jacob

答えて

1

は思えます。

試してみてください。

-Durl =ファイル:// path_to_m2_repo

See here for more

編集:URLはこの場合はローカルリポジトリ用です。 Mavenは、POMと-DrepositoryIdに基づいてNexusにデプロイする必要があります。

+0

URLフォーマットは正しい - 使用ガイドが例として使用しているにもかかわらず、 (ファイルシステム上でホストされていても、依然としてリモートのレポとみなされる)ファイルの場所に展開します。 –

+0

こんにちは、あなたが何を示唆しているのか分かりません。 URLを「-Durl = file:/// path/to/jar/I/want/to/deploy」に変更しましたが、まだエラーがあります。デプロイするファイルへのパスとリポジトリIDを使用した例を教えてください。 – Dave

+0

私はそのドキュメントから分かりますが、Durlは展開するファイルではなく、ローカルリポジトリ(またはファイルが存在する場所)へのパスでなければなりません。-Dfileはそのためです。 -DrepositoryIDは、POMファイルにあるで指定したIDと一致する必要があります。私はこれがあなたのm2リポジトリ(Durl)に与えられたDfileをプッシュし、POM、この場合あなたのNexusで定義されたDrepositoryIDにそれを配備すると仮定します。それでも問題が解決しない場合は、POMから属性を確認したいと思います。 – Tony

3

deploy:deploy-fileは、pom.xmlファイルを持つディレクトリで実行することは意図されていません。他の場所で実行する必要があります。特定のPOMをアップロードしたい場合は、-DpomFile引数を忘れないようにしてください。デフォルトは基本的なものを生成するためです。

しかし、私はあなたがローカルリポジトリからファイルを展開していることに注意してください - これはMavenのことでそこに置かれた場合は、そのプロジェクトを持っている確かに優れているビルドが<distributionManagement>要素とdeployライフサイクル・フェーズを使用して、展開を行います。

関連する問題