2011-08-29 4 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. 

입니다 실행할 때? 내 repositoryId, "ssonatype-nexus"를 ~/.m2/settings.xml 파일에 정의하고 거기에있는 자격 증명이 올바른지 확인했습니다. 어떤 도움

감사합니다, - 당신의 URL을 잘못 포맷처럼 데이브

+1

'-X 스위치를 사용하여 전체 디버그 로깅을 사용하도록 Maven을 다시 실행하십시오 .' 오류를 해결하는 데 도움이 될 수 있습니다. – Jacob

답변

1

보인다.

시도 :

-Durl = 파일 : // path_to_m2_repo

See here for more.

편집 : URL은이 경우 로컬 repo입니다. Maven은 POM 및 -DrepositoryId를 기반으로 Nexus에 배포해야합니다.

+0

URL 형식이 정확합니다 - 사용법 가이드가 예제로 사용하는 방법에도 불구하고 파일 위치에 배포합니다 (파일 시스템에서 호스트되는 경우에도 여전히 원격 저장소로 간주 됨). –

+0

안녕하세요, 당신이 제안하는 것을 이해하지 못합니다. 내 URL을 "-Durl = file : /// path/to/jar/I/want/to/deploy"로 변경했지만 여전히 오류가 있습니다. 배포하려는 파일의 경로와 저장소 ID를 사용하여 예제를 제공 할 수 있습니까? – Dave

+0

Durl은 배포하려는 파일이 아니라 Durl이 로컬 저장소 (또는 파일이있는 곳)의 경로 여야한다는 점에서 Durl이 무엇인지 알고 있습니다. -DrepositoryID는 POM 파일에있는 에서 지정한 ID와 일치해야합니다. 나는 이것이 주어진 Dfile을 m2 repo (Durl)로 푸시하고 POM에 정의 된 DrepositoryID에 배포한다고 가정합니다 (이 경우 Nexus). 그래도 문제가 해결되지 않으면 POM에서 속성을 ​​확인하고 싶습니다. – Tony

3

deploy:deploy-file은 pom.xml 파일이있는 디렉토리에서 실행되지 않으므로 다른 곳에서 실행해야합니다. 업로드 된 특정 POM을 원하면 -DpomFile 인수를 잊어 버리지 마십시오. 기본값은 기본 POM을 생성하는 것입니다.

그러나, 나는 당신이 로컬 저장소에서 파일을 배포하는 것을 알 수 -이 메이븐에 의해이 배치 된 경우 <distributionManagement> 요소 및 deploy 라이프 사이클 단계를 사용하여, 당신은 배포 할 해당 프로젝트를 가지고 확실히 더 나은 구축 할 수 있습니다.

관련 문제