code

Maven으로 jar 소스를 다운로드하는 방법은 무엇입니까?

codestyles 2020. 12. 14. 08:14
반응형

Maven으로 jar 소스를 다운로드하는 방법은 무엇입니까?


내 프로젝트에서는 Maven을 통해 제공되는 JAR 파일을 사용하고 있습니다. 그러나 Maven이 나에게주는 것은 단지이 항아리입니다-javadocs 및 소스 없음. "Download Sources"를 눌러도 효과가 없습니다. Eclipse는 여전히 jar의 소스를 찾지 못합니다.

이것이 무엇에 달려 있습니까? 저장소가 소스를 자동으로 제공해야합니까?

Maven에게 소스를 다운로드하도록 지시하기 위해 POM에 무언가를 작성해야 할 수 있습니까?

내 현재 pom은 다음과 같습니다.

<repositories>
    <repository>
        <id>xuggle repo</id>
        <url>http://xuggle.googlecode.com/svn/trunk/repo/share/java/</url>
    </repository>
</repositories>

<dependencies>

    <dependency>
        <groupId>xuggle</groupId>
        <artifactId>xuggle-xuggler</artifactId>
        <version>5.3</version>
        <type>rar</type>
    </dependency>

</dependencies>

Maven이 소스 다운로드 실패에 대한 의견을 말하지 않는 이유는 무엇입니까?


mvn dependency:sources소스를 사용할 수있는 경우 (아티팩트가 호스팅되는 저장소에 업로드 됨) 실행 하면 maven이 프로젝트에있는 모든 jar의 모든 소스를 다운로드하도록 강제합니다. javadoc을 다운로드하려면 명령은 다음과 같습니다.mvn dependency:resolve -Dclassifier=javadoc

settings.xml 파일에서 프로필을 만들고 다음 속성을 포함 할 수도 있습니다.

<properties>
  <downloadSources>true</downloadSources>
  <downloadJavadocs>true</downloadJavadocs>
</properties>

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

소스가 없으면 다음과 같이 말해야합니다.

[INFO] The following files have NOT been resolved:
[INFO]    com.oracle:ojdbc6:java-source:sources:12.1.0.1
[INFO]    javax:javaee-api:java-source:sources:6.0

더 이상 사용되지 않는 Eclipse 플러그인에 의존하지 않는 것이 가장 좋습니다. downloadSourcesdownloadJavadocs속성을 사용하면 효과가 없었습니다. 종속성 플러그인 단어 사용과 관련하여 위에 게시 된 답변입니다. 그러나 소스와 javadocs를 자동으로 다운로드 할 수 있습니다. 또한 항상 소스 jar와 javadoc jar를 만들고 싶을 수 있습니다. 이것을 프로젝트의 pom에 넣으십시오. 모듈을 사용하는 경우 부모 pom에 넣으십시오.

<build>
    <plugins>
        <!-- download sources and javadoc -->
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.10</version>
            <executions>
                <execution>
                    <id>download-sources</id>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
                <execution>
                    <id>download-javadoc</id>
                    <configuration>
                        <classifier>javadoc</classifier>
                    </configuration>
                    <goals>
                        <goal>resolve</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- Always create javadoc jar. -->
        <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.4</version>
            <executions>
                <execution>
                    <id>attach-javadoc</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- Always create source jar. -->
        <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.10</version>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar</goal>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

source / javadoc jar가 제공되지 않았거나 저장소에 없을 수 있습니다. source / javadoc jar가 있어야 할 필요가 없습니다.


다음을 target/dependencies사용하여 소스를 다운로드 할 수도 있습니다 .

mvn -Dclassifier=sources dependency:copy-dependencies

@hovanessyan 답변을 확장합니다.

A basic profile for enabling the downloadSources and downloadJavadocs, in Maven's settings.xml will look like this. e.g. profile id is downloadSources

<!-- add the profile under profiles section -->

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

<!-- activate the profile under activeProfiles section -->

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

In eclipse, rigth click on your project then Maven>Download Sources again Maven>Download Javadoc

참고URL : https://stackoverflow.com/questions/11361331/how-to-download-sources-for-a-jar-with-maven

반응형