Maven 배포 파일 사용

Aug 20 2020

문서 읽기. 의 deploy:deploy-file(https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html), <file>, <repositoryId> and <url>그럼에도 불구하고 내가 실행할 때 필요한 유일한 매개 변수는 Required Parameters 인 것 같습니다 .

mvn deploy:deploy-file -Durl={url} -DrepositoryId={repoId} -Dfile=D:\Users\nunito\IdeaProjects\calzada\target\calzada.zip

이 오류가 발생했습니다.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file (default-cli) on project oib-kw-guards-web: The artifact i
nformation is incomplete or not valid:
[ERROR]   [0]  'groupId' is missing.
[ERROR]   [1]  'artifactId' is missing.
[ERROR]   [2]  'version' is missing.

답변

3 VonC Aug 22 2020 at 14:42

나는 일반적으로 deploy:deploy-file명령 줄에서 사용 합니다 pom.xml.

cmd /v /c "set a=an-artifact-name&& set g=com.company.xxx&& \
mvn deploy:deploy-file -Dfile=C:\path\to\!a!.jar -Dpackaging=jar -DgroupId=!g! -DartifactId=!a! \
-Dversion=1.0-DEV-SNAPSHOT -DrepositoryId=nexus \
-Durl=http://company.com/nexus/content/repositories/company-snapshots/"

명령을 시작 a하고 수정하기 만하면 g됩니다.

특정 버전이있는 경우 버전 v를 추가하고 Nexus의 릴리스 부분에 넣을 수 있습니다.

cmd /v /c "set a=an-artifact-name&& set g=com.company.xxx&& && set v=1.2.3&& \
mvn deploy:deploy-file -Dfile=C:\path\to\!a!.jar -Dpackaging=jar -DgroupId=!g! -DartifactId=!a! \
-Dversion=!v! -DrepositoryId=nexus \
-Durl=http://company.com/nexus/content/repositories/company-releases/"
2 JFabianMeier Aug 25 2020 at 15:00

플러그인 "사용"페이지 (https://maven.apache.org/plugins/maven-deploy-plugin/usage.html) 상태 :

다음 필수 정보가 어떤 식 으로든 지정되지 않으면 목표가 실패합니다.

  • 배포 할 아티팩트 파일
  • 배포 할 파일의 그룹, 아티팩트, 버전 및 패키징. 지정된 pomFile에서 가져 와서 명령 줄을 사용하여 재정의하거나 지정할 수 있습니다. pomFile에 상위 섹션이 포함 된 경우 현재 프로젝트 또는 명령 줄에 groupId가 더 이상 지정되지 않은 경우 상위의 groupId를 고려할 수 있습니다.
  • 저장소 정보 : settings.xml 파일에서 배포 할 URL 및 서버 섹션에 대한 repositoryId 매핑. repositoryId를 지정하지 않으면 Maven은 'remote-repository'ID를 사용하여 인증 정보 추출을 시도합니다.

따라서 좌표를 지정하거나 POM 파일을 제공해야합니다.