2010-08-18 2 views
4

제가하고 싶은 써드 파티 라이브러리에 문제가 있습니다. Netbeans은 라이브러리 노드를 마우스 오른쪽 버튼으로 클릭하면 "소스 다운로드"옵션을 제공합니다. 이것은 소스를 svn에서 올바르게 다운로드합니다. 소스 아이콘은 종속 노드에 연결되며 모두 복숭아입니다. 그러나 클래스 중 하나를 열면 첨부 된 소스가없는 것처럼 생성 된 스켈레톤을 제공합니다. 더 많은 경우 maven 소스가있을 때 수동으로 로컬 소스를 첨부 할 수있는 옵션이없는 것 같아서이 문제를 해결할 수 없습니다.네이버 소스를 이슈에 메이븐 소스에 첨부하십시오.

다른 사람들이이 기능을 사용한 경험은 무엇입니까?

는 참고로 해당 라이브러리는 헤로인 3.1.0 http://www.igniterealtime.org/projects/smack/index.jsp

답변

5

는 소스 아티팩트의 해상도는 대회를 통해 발생하기 때문에 의존성에있는 경우 :

<dependency> 
    <groupId>com.yourcompany</groupId> 
    <artifactId>yourartifact</artifactId> 
    <version>1.2.3</version> 
</dependency> 

그것은에서 소스 아티팩트를 찾습니다 :

<dependency> 
    <groupId>com.yourcompany</groupId> 
    <artifactId>yourartifact</artifactId> 
    <version>1.2.3</version> 
    <classifier>sources</classifier> 
</dependency> 

그래서 무엇을 source download page에서 소스를 다운로드하고 jar 파일을 만들고 install:install-file을 실행하면 on the usage page이 표시됩니다.

mvn install:install-file -Dfile=your-created-source.jar \ 
         -DgroupId=jivesoftware \ 
         -DartifactId=smack \ 
         -Dversion=3.1.0 \ 
         -Dclassifier=sources \ 
         -Dpackaging=jar \ 
         -DgeneratePom=false 

그런 식으로 대회가 열리고 netbeans이 자동으로 출처를 찾을 것입니다.

EDIT : 추가 포장

+0

+1 단계 실용적인 해결 방법을 제공하기 위해 (그리고 따라서 질문에 실제로 응답) –

+0

트릭을했는데 작동하도록하려면 -Dpackaging = jar를 추가해야했습니다. 감사. –

+0

감사합니다. 이제 해당 정보를 추가했습니다. –

3

넷빈즈는 라이브러리 노드 오른쪽 클릭은 "다운로드 소스"옵션을 제공합니다. 이것은 소스를 svn에서 올바르게 다운로드합니다. 소스 아이콘은 종속 노드에 연결되며 모두 복숭아입니다.

여기에 메이븐에 대해 이야기하는 경우, 나는 이것이 일어나고 있다고 생각하지 않습니다. 다운로드 소스 기능을 사용하면 Maven 저장소에서 주어진 종속성 에 대해 sources 이슈 (예 : foo-1.0-SNAPSHOT-sources.jar)를 다운로드 할 수 있습니다. 그리고 이것은 분명히 주어진 의존성이 -sources 항아리를 제공하는 경우에만 작동합니다. 하지만 smack-3.1.0의 경우는 아닙니다. 파스칼이 글을

+0

날 혼동 부분은 POM은 SVN REPO의 SCM을 포함하는 요소를 가지고있다, 올바른 것으로 보인다. Netbeans은 또한 개별 종속성에 대한 소스 체크 아웃 옵션을 제공하므로 다운로드 소스 옵션과 동일한 메커니즘이라고 생각했습니다. –

관련 문제