문제

직장에서 나는 Maven과 함께 프로젝트 의존성을 관리하는 데 발가락을 담그고 있습니다. 우리는 Apache Archiva (1.2.1)를 로컬 리포지토리 및 프록시로 사용합니다. 공개 저장소에 게시되지 않은 오픈 소스 프로젝트에 아티팩트를 추가하고 있습니다. 나는 그것을 출판하는 것을 배웠다 출처 나는해야한다 분류기 필드를 사용하십시오 ~에 아티팩트를 업로드하십시오 페이지. 그런 다음 저장소를 탐색 할 때 소스가 항아리와 Pom과 함께 나열됩니다.

그러나 Maven 의존성을 업데이트하면 저장소에서 Jar와 Pom 만 얻습니다. Archiva가 다른 공공 저장소에서 다운로드 할 때 소스도 누락된다는 것을 알았습니다. Archiva의 관리자 페이지에서 소스를 제공하기 위해 구성 옵션을 찾지 못했습니다 ... 무엇이 누락 되었습니까?

업데이트: 아티팩트 소스를 수동으로 다운로드해야한다는 사실이 누락되었습니다. 즉, Maven Client는 그들에게 요청해야하며, 이는 명령 줄 옵션으로 제어됩니다. -DdownloadSources=true. Eclipse 용 Maven Integration에는 다음과 같은 선호도 설정이 있습니다. 유물 소스 해결. 그런 다음 Archiva는 로컬 아티팩트 또는 프록시의 원격 리포지토리에 대한 요청을 제공하고 향후 요청에 대한 소스를 캐시합니다.

도움이 되었습니까?

해결책

Archiva는 출처를 제공하지만 Maven은 기본적으로 요청하지 않습니다. 나는 또한 Archiva를 나의 Maven Repo로 사용하기 때문에 알고 있습니다. 출처를 어떻게 요청하고 있습니까?

Eclipse를 사용하는 경우

  • 당신은 달릴 수 있습니다 mvn eclipse:eclipe -DdownloadSources=true 프로젝트 디렉토리에서;
  • 당신은 설치할 수 있습니다 일식을위한 Maven 통합.

둘 다 출처를 사용할 수있는 경우 소스를 반환해야합니다.

다른 팁

소스는 컴파일/런타임 종속성을 만족시킬 필요가 없습니다. 앱과 함께 소스를 번들하려면 소스의 종속성을 지정합니다. 또는 어셈블리와 같은 플러그를 사용하여 Archiva에서 가져옵니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top