모든 maven 의존성을 저장소에없는 디렉토리로 다운로드 하시겠습니까? 된 라이브러리를

나는 maven에만 바이너리 형식으로 배포 된 라이브러리를 사용해야하기 때문에 프로젝트를 maven으로 변환하기 시작했지만 너무 오랫동안 벽에 머리를 부딪친 후 나 자신을 아프게하고 사용하기로 결정했습니다. 개미. 항아리와 모든 전이 종속성을 선택한 디렉토리에 다운로드하여 정상적으로 즐기면서 행복한 개발자로 다시 SCM에 체크인 할 수 있기를 원합니다.
그것을 쉽게하는 방법에 대한 아이디어가 있습니까?



답변

받는다는 종속성 플러그인은 잠재적으로 문제를 해결할 수 있습니다.

pom모든 프로젝트 종속성이 지정된 을 가지고 있으면 실행하기 만하면됩니다.

mvn dependency:copy-dependencies

target/dependencies전이를 포함하여 모든 종속성으로 채워진 폴더를 찾을 수 있습니다.

아래에서 Gustavo의 답변 추가 : 종속성 소스 를 다운로드하려면 다음을 사용할 수 있습니다

mvn dependency:copy-dependencies -Dclassifier=sources

( Apache Maven Dependency Plugin doc을 통해 ).


답변

@Raghuram 답변을 바탕으로 프로젝트 종속성 복사에 대한 자습서를 찾을 수 있습니다 .

  1. 프로젝트 pom.xml파일을 열고 다음을 찾으십시오.

    <project>
      [...]
      <build>
        <plugins>
          ...
        </plugins>
      </build>
      [...]
    </project>
  2. 로 바꾸는 것보다 <plugins> ... </plugins>:

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  3. 그리고 커맨드 라인 내에서 maven을 호출하십시오. mvn dependency:copy-dependencies

완료되면, 현재 디렉토리의 target/dependency모든 jar의존성 내에 폴더가 생성됩니다 pom.xml.


답변

마침내 Maven을 사용하는 방법을 알아 냈습니다. Eclipse 내에서 새 Maven 프로젝트를 작성하십시오.

Maven을 다운로드하고 아카이브를 추출한 다음 /bin경로에 폴더를 추가하십시오 .

다음을 실행하여 명령 줄에서 설치를 확인하십시오 mvn -v(버전 및 Java 설치 경로를 인쇄합니다).

프로젝트 루트 폴더 ( pom.xml위치)를 변경하고 다음을 실행하십시오.

mvn dependency:copy-dependencies

모든 jar 파일이에 다운로드됩니다 /target/dependency.

다른 출력 디렉토리를 설정하려면

mvn dependency:copy-dependencies -DoutputDirectory="c:\temp"

이제 pom.xml을 변경하여 모든 종속성 다운로드에이 Maven 프로젝트를 재사용 할 수 있습니다.

빌드 경로-> 빌드 경로 구성-> 라이브러리-> JAR 추가로 Java 프로젝트에 jar을 추가하십시오.


답변

다음 명령을 찾았습니다

mvn dependency:copy-dependencies -Dclassifier=sources

여기 maven.apache.org


답변

${MAVEN_HOME}/conf같은 디렉토리에 구성 파일이 있는지 확인하십시오 settings.xml. 이러한 파일은 .m2폴더의 설정을 무시 하며 그 때문에 저장소 폴더의 .m2표시가 보이지 않거나 버려 질 수 있습니다.