0

프로젝트에서 Nexus Repository Manager를 사용하여 모든 병을 저장하고 있습니다. 항아리와 함께 그룹 아래에는 pom.xml, .md5, .sha1 파일과 같은 다른 파일이 있음을 알 수 있습니다. 서버 시작시 이러한 파일이 필요합니다. 런타임에 Java/Curl 명령/mvn 종속성 명령을 사용하여 프로그래밍 방식으로 특정 그룹의 모든 파일을 다운로드 할 수있는 방법이 있습니까?Maven Repository에서 command 또는 Java 프로그램을 통해 groupId 아래의 모든 파일을 다운로드하십시오.

답변

1

Maven은 캐싱을 위해 로컬 저장소도 사용합니다. 기본 위치는 Default: ${user.home}/.m2/repository입니다. [maven_dir]/conf/아래의 파일 settings.xml에서이 설정을 확인할 수 있습니다.
종속성을 업데이트하려면 -U 옵션을 사용하십시오. 즉 mvn clean install -U
pom.xml 파일 내에서 nexus repo 설정을 잊지 마세요. http://maven.apache.org/pom.html#Repository

+0

답장을 보내 주셔서 감사합니다. 네, 알고 있습니다. 하지만 내 문제는 런타임에 그룹 아래에 파일을 다운로드하고 싶습니다. 그래서 repo에서 XML의 내용에 변화가있을 때 패키지를 만들고 싶지 않습니다. –

+0

[Nesux API] (http://www.sonatype.org/nexus/2015/08/13/using-the-rest-api-in-nexus-2/)? 및 [mvn dependency : get] (http://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html)을 참조하십시오. 예를 들면 다음과 같습니다.'mvn org.apache.maven.plugins : maven-dependency-plugin : 2.1 : -DrepoUrl = url -Dartifact = groupId : artifactId : version' –

+0

예. 누군가 나에게 좋은 접근법을 제안했다. 기본적으로 모든 XML을 JAR/ZIP 파일로 묶고 내 groupId 아래에 해당 zip 파일을 업로드하십시오. 그런 다음 프로그래밍 방식으로 CURL/WGET을 사용하여 zip을 다운로드하고 런타임에 사용 가능한 유틸리티를 사용하여 해당 zip 파일의 내용을 압축 해제하십시오. –

0

간단한 방법으로 해결할 수 있습니다. 모든 XML을 JAR/ZIP 파일로 묶고 내 groupId의 zip 파일을 Maven 저장소에 업로드하십시오. 그런 다음 프로그램으로 CURL/WGET을 사용하여 zip을 다운로드하고 런타임에 해당 zip 파일의 내용을 사용 가능한 유틸리티를 사용하여 압축을 풉니 다.

  1. 모든 XML을 zip 파일로 저장하십시오.
  2. mvn deploy를 사용하여이 zip 파일을 Maven Nexus Repo에로드하십시오.
  3. 런타임 중에 프로그래밍 방식으로 해당 ZIP 파일에 간단한 weburl 호출을 사용하여 zip 파일을 다운로드하십시오.
  4. ZIP4J 또는 다른 라이브러리를 사용하여 내용을 필요한 출력 폴더에 압축을 풉니 다.
  5. 흐름 중에 필요할 때이 서버에서 파일을 선택하십시오.

어딘가 누군가에게 도움이되기를 바랍니다. :)