2012-07-06 3 views
2

Maven 공급 업체별 저장소를 통해 제공되는 특정 jar 라이브러리를 사용하고 있습니다. 리포지터리 (repository) 내에 jar 파일 만 있습니다. 즉, 소스는없고 javadoc도 없습니다.Maven의 소스 위치를 구성 할 수 있습니까?

하지만 소스 코드는 SVN 저장소에서 온라인으로 볼 수 있습니다. 특정 SVN 위치에서 특정 JAR의 소스를 다운로드하도록 Maven에게 말할 수 있습니까? 특정 개정 번호의 것일 수 있습니까?

+0

라이브러리가 너무 많지 않다면 수동으로 로컬'.m2' 폴더 구조로 복사해야 할 수도 있습니다 .. –

+0

@Rp : 빌드가 이식 가능하지 않기 때문에 일반적으로 좋지 않습니다 재현 가능). 일종의 중앙 저장소 (예 : Nexus/Artifactory/등 회사 전체 아티펙트 관리자)에 아티팩트를 추가해야합니다. – carlspring

답변

0

MavenRepository에 리소스를 포함한 라이브러리를 찾는 것이 좋습니다. 소스를 Maven 형식으로 다시 사용할 수없는 경우 IDE (예 : Eclipse)에 하드 디스크의 위치에서 직접 연결할 수 있음을 알릴 수 있습니다.

+0

저장소에 출처가 없습니다. –

+0

다른 'Maven'저장소에서 해당 소스를 찾았습니까? 또는 저장소가 아닌 장소에 있습니까? – adranale

2

아니요 당신은 SVN 저장소에서 소스를 다운로드하도록 maven에게 말할 수 없습니다. Maven은 적절한 Maven 저장소 내에 모든 종류의 아티팩트를 기대합니다.

0

병은 SVN 저장소에 저장되지 않으며 Maven을 사용할 때 이슈 저장소에 저장됩니다. 버전 제어하에 2 진 아티팩트 (예 : jar 파일)를 유지하는 것은 좋지 않은 것으로 간주됩니다. 당신이 특정 이슈 메이븐 중앙를 통해 사용할 수있는 sources 또는 javadoc 유물을 생산하고 있는지 확인하려는 경우

, 당신은에서 확인할 수 있습니다

Maven 저장소 (예 : Nexus, Artifactory)가있는 경우, 당신도 그것을 사용할 수 있습니다.

정확하게 이해한다면,이 아티팩트에 대한 소스가 IDE에 표시되지 않는 것이 문제입니다. 이 경우 소스/javadoc 아티팩트가 생성되었다고 확신하는 경우 IDE에서 이러한 종속성을 해결하도록 설정할 수 있습니다.

이클립스를 사용하는 경우, 당신의 라인을 따라 뭔가를해야합니다

예를 들어 당신이 종속성을 설정해야하는 pom.xml 파일에서
<project ...> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-eclipse-plugin</artifactId> 
       <version>2.9</version> 
       <configuration> 
        <downloadSources>true</downloadSources> 
        <downloadJavadocs>true</downloadJavadocs> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
0

: 내가 생각

<dependency> 
     <groupId> junit </ groupId> 
     <artifactId> junit </ artifactId> 
     <scope> test </ scope> 
     <version> 4.10 </ version> 
</ dependency> 

수정을 위해 그것을 볼 수없고, pom.xml의 자원과 종속성을 포함한 라이브러리를 찾으십시오.

관련 문제