Maven – 항상 소스 및 javadoc 다운로드


244

소스와 javadoc 을 항상 다운로드 하도록 maven을 구성 할 수있는 방법이 있습니까? -DdownloadSources=true -DdownloadJavadocs=trueeverytime을 지정 하면 (처음으로 잊었 기 때문에 mvn compile을 두 번 실행하는 것과 함께 진행됨) 다소 지루합니다.


이클립스 플러그인입니까? 어쨌든 자주 실행하지 않아도됩니다 ...
sjr

1
아니요, 명령 줄 프로그램을위한 것입니다. 자주 실행하지 않아도되지만 절대 실행하지 않으면 좋을 것입니다!
schmmd

1
명령 줄은 무엇입니까? 당신이 mvn eclipse:eclipse옳은 때 입니까?
sjr

14
@sjr, 그렇습니다. 소스와 javadoc을 다운로드하기 위해 실행할 수 있습니다mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
Yuriy Nakonechnyy

이 질문에 여전히 답 이 없다고 생각합니다 . 허용되는 답변은 Eclipse 플러그인에만 해당됩니다. @AlexisGamarra의 대답은 가장 가깝지만 솔루션의 "지속성"을 해결하지는 않습니다 . mvn install 을 실행할 때마다 Maven이 항상 수행하도록 설정하지는 않습니다 .
Honza Zidek

답변:


265

settings.xml 파일을여십시오 ~/.m2/settings.xml (없는 경우 작성하십시오). 속성이 추가 된 섹션을 추가하십시오. 그런 다음 activeProfiles에 새 프로파일이 포함되어 있는지 확인하십시오.

<settings>

   <!-- ... other settings here ... -->

    <profiles>
        <profile>
            <id>downloadSources</id>
            <properties>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </properties>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>downloadSources</activeProfile>
    </activeProfiles>
</settings>

6
Maven 2.2.1 및 3.0.2에서 이러한 프로파일 속성을 시도하고 있는데 작동하지 않습니다. 대상 리포지토리는 Archiva입니다. 무엇을 시도해 볼 수 있습니까? 나는 dependency : sources 목표를 사용해 보았습니다. 감사합니다
분에

18
또한 Eclipse에서 환경 설정-> Maven (하위 범주 없음)으로 이동할 수 있습니다. "아티팩트 소스 / JavaDoc 다운로드"를 확인할 수 있습니다. 그러나 때때로 Eclipse는 해당 파일을 수동으로 작성하지 않으려 고합니다 (Luna에서 나에게 발생했습니다). 이 경우-거기에 가서 설정 태그에 래핑 된이 답변을 붙여 넣고 Eclipse에 다시로드하도록 지시하면 작동합니다.
Andrei Bârsan

9
이것은 나를 위해 일했다 : 이클립스에서 환경 설정-> Maven (하위 범주 없음)으로 이동하십시오. 확인- "아티팩트 소스 다운로드"- "아티팩트 JavaDocs 다운로드"- "시작시 Maven 프로젝트 업데이트"(수동으로 찾을 수 없기 때문에) Eclipse를 다시 시작하십시오. 완료
Dirk

4
이것은 Maven Eclipse 플러그인에만 영향을 미칩니다.
Jingguo Yao

9
이 답변은 받아 들여서 는 안됩니다 ! @JingguoYao가 언급했듯이 Maven Eclipse 플러그인에만 영향을 미칩니다. 원래 질문은 이클립스가 아니라 Maven 자체에 국한되었습니다.
Honza Zidek

195

필자의 경우 "settings.xml"솔루션이 작동하지 않았으므로 모든 소스를 다운로드하기 위해이 명령을 사용합니다.

mvn dependency:sources

다른 maven 명령과 함께 사용할 수도 있습니다.

mvn clean install dependency:sources -Dmaven.test.skip=true

모든 문서를 다운로드하려면 다음 명령을 사용하십시오.

mvn dependency:resolve -Dclassifier=javadoc

1
이 질문에 여전히 답 이 없다고 생각합니다 . 허용되는 답변은 Eclipse 플러그인에만 해당됩니다. 대답은 가장 가깝지만 솔루션의 "지속성"을 해결하지는 않습니다 . mvn install 을 실행할 때마다 Maven이 항상 그렇게하지는 않습니다 .
Honza Zidek

52

소스 및 문서 다운로드를 해결하기 위해 단일 명령을 통합하고 준비했습니다 ...

mvn dependency:sources dependency:resolve -Dclassifier=javadoc

42

Google 사용자를위한 답변

Eclipse 에서는 javadoc소스를 자동으로 다운로드 할 수 있습니다 .

그렇게하려면 프로젝트를 마우스 오른쪽 버튼으로 클릭하고

  • Maven-> JavaDoc 다운로드
  • 메이븐-> 소스 다운로드

3
그리고 IDEA에서 당신은 바로 모듈을 클릭 할 수 있으며 메이븐 메뉴에서 다운로드 소스 및 / 또는 설명서의 옵션이있다
forresthopkinsa

@Betlista는 게시물의 첫 번째 줄을 읽었습니다. 많은 사람들이 구글에서 다른 것을 찾고 있습니다. 그러나 다른 키워드로도 여기에 들어가십시오
Ghandhikus

14

Maven 3.3.3을 사용하고 있으며 기본 프로필을 사용자 또는 전역 settings.xml파일 에서 작동시킬 수 없습니다 .

이 문제를 해결하기 위해 pom.xml파일에 추가 빌드 플러그인을 추가 할 수도 있습니다 .

<properties>
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
</properties>
<build>
    <plugins>
        <!-- Download Java source JARs. -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>${maven-dependency-plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

7

넷빈즈 -> [explorer-> 종속성 프로젝트를 열고 file.jar ] rightclick-> 다운로드 자바 독


4

@ xecaps12가 말했듯이 가장 간단하고 효율적인 접근 방법은 Maven 설정 파일 (~ / .m2 / settings.xml)을 변경하는 것이지만 기본 설정 인 경우 다음과 같이 설정할 수도 있습니다

<profile>
  <id>downloadSources</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
      <downloadSources>true</downloadSources>
      <downloadJavadocs>true</downloadJavadocs>
  </properties>
</profile>

이것은 실제로 작동하지 않으며 사용하지 않는 전역 속성을 선언하고 있습니다. 나는 신화적인 해결책은 다음 maven-eclipse-plugin같다고
inanutshellus

아니, 그것의 "해결 된"답변의 단순화;)
Kraiss

1
"해결 된"버전도 작동하지 않습니다. (저도 같은 의견을 제시했지만 귀하와 협의하는 동안 일시적으로 제거했습니다.) 따라서 귀하의 답변 (및 해결 된 답변)이 실제로 효과가 있다고 말하고 있습니까? 내 말은, 159 명의 사람들이 그 틀렸거나 오래된 답변을 업로드 했으므로 누군가에게 분명히 효과가 있습니다. 그런 다음 내가 뭔가 잘못하고 있어요 말대로 작동하는 경우 등의 의견에서 해결 대답에 여러 사람이 있고 나는 것 사랑하는 것을 배우고 그 작업을 얻을.
inanutshellus

eclise로 실제로 개발할 때 Eclipse 전역 변수를 검사한다고 가정합니다. 소스 페치는 명령 행의 maven이 아닌 Eclipse에 의해 수행됩니다.
Jonatan Cloutier

1

플러그인마다 할 수 있다고 생각합니다. Maven 책 에서이 장 을 참조하십시오 .

소스를 다운로드하도록 종속성 플러그인을 구성 할 수 있습니다 (내가 직접 시도하지는 않았지만 :-).


1

Netbeans에서는 Maven에게 열려있는 모든 프로젝트에서 javadoc을 확인하도록 지시 할 수 있습니다.

Tools| Options| Java아이콘 | Maven탭 | Dependencies카테고리 | Check Javadoc드롭 다운을로 설정했습니다 Every Project Open.

Netbeans를 닫았다가 다시 열면 상태 표시 줄에 Maven download javadocs가 표시됩니다.



0

파일을 수정 mvn하거나 ( mvn.cmdWindows의 경우) 필요한 다른 명령 줄 스위치를 추가하십시오 (다른 답변에서 언급했듯이). 당신은이 (내가 권하고 싶습니다) 파일을 설치, 수정하지 않으려는 경우를 작성 mymvn(또는 mymvn.cmd일반)이 원용하는 래퍼 mvn매개 변수와 함께.


0

항아리를 다운로드하기 위해 KeyStore를 사용해야했습니다. 인증서 관련 문제가있는 경우이 방법을 사용할 수 있습니다.

mvn clean install dependency:sources -Dmaven.test.skip=true -Djavax.net.ssl.trustStore="Path_To_Your_KeyStore"

키 저장소를 작성하는 방법을 알고 싶다면 다음 링크를 참조하십시오. 프록시 뒤에 Maven 및 SSL 사용시 문제


0

종속성 레벨 (pom.xml)의 소스에 대해 다음을 추가 할 수 있습니다.

<classifier>sources</classifier>

0

kevinarpe 의 답변을 추적하기 위해 소스와 Javadoc을 모두 수행합니다.

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>sources</goal>
                            <goal>resolve</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <classifier>javadoc</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.