명령 줄에서 소스로 Maven 아티팩트를 설치하는 방법은 무엇입니까?


92

소스와 함께 Maven 아티팩트를 설치하는 방법은 무엇입니까?

그래서 나중에 코드를보기 위해 이클립스에서 프로젝트를 열 필요가 없습니다.

편집 : 이 코드를 pom.xml에 추가 할 수 있다는 것을 알고 있습니다.

<plugin>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
                <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                                <goal>jar</goal>
                        </goals>
                </execution>
        </executions>
</plugin>

그러나 나는 그것을 더 보편적으로 만들기 위해 명령 줄에서하고 싶습니다.


그리고 그 출처를 어디에서 원하십니까?
Sean Patrick Floyd

답변:


156

종속성에 대한 소스를 다운로드하려면 :

mvn eclipse:eclipse -DdownloadSources=true

설치에 소스를 첨부하려면 :

mvn source:jar install

maven-source-plugin 페이지 source:jar-no-fork에 설명 된대로 pom 에서 목표를 사용하는 것이 좋습니다 .


그러나 설치된 스냅 샷의 소스가 존재하지 않습니다 :(
IAdapter

59

간단합니다. 소스와 JavaDocs를 얻으십시오.

mvn dependency:resolve -Dclassifier=javadoc
mvn dependency:resolve -Dclassifier=sources

2
@csgeek 질문은 모호하게 표현되어 있으며 다양한 방식으로 해석 할 수 있습니다. Cmd는 mvn src 및 doc를 다운로드하고 로컬로 설치하므로 Eclipse에서 수동 매핑이 필요하지 않습니다. 로컬로 빌드 된 jar에 src를 설치하려면 dogbane의 답변을 참조하십시오.
Joseph Lust 2014 년

1
pom.xml 또는 이클립스 설정을 개별적으로 변경하는 것보다 훨씬 더 좋고 깔끔한 옵션입니다.
Karthik Karuppannan

"mvn source : jar install"은 pom 또는 Eclipse 설정을 변경하지 않습니다 .... .m2 저장소에 로컬 코드 저장소의 소스를 설치하는 것이 Maven의 목표입니다. (F.ex. 다른 프로젝트에서 참조하려는 일부 스냅 샷 버전을 git 복제 한 경우) 종속성 해결은 외부 소스 또는 javadoc jar를 다운로드하기위한 것입니다.
cslotty

4

mvn source:jarMaven 아티팩트를 설치 하려면 install을 사용하십시오.


1
이것은 작동하지 않는 것 같습니다. 소스 jar 만 생성합니다. 나는 mvn clean install객체와 소스 항아리가 모두 내 m2에있는 방식 으로 결합하고 싶습니다 . gradle을 사용하여 Android Studio에서 액세스하고 있습니다.
TheRealChx101

-1

Eclipse를 사용하면 매우 쉽습니다. 프로젝트 탐색기보기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 maven 메뉴 항목을 클릭 한 다음 소스 다운로드를 클릭합니다.


하지만 설치된 스냅 샷의 소스가 존재하지 않습니다. (오류 24.02.11 10:23:23 CET : 이슈 my : project : 1.2.18-SNAPSHOT에 대한 java-source를 다운로드 할 수 없습니다
IAdapter

글쎄, 당신은 당신의 질문을 명확히했습니다. 제 대답은 더 이상 유효하지 않습니다.
Gursel Koca

왜? maven은 자동으로 일을하는 것입니다. 항아리가 생성되지 않았기 때문에 액세스 할 수 없습니다.
IAdapter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.