문제

저장소와 물건에 의존성이있는 Maven 프로젝트가 있습니다. Maven이 기계에서 실행하지 않고도 IDE에서 성공적으로 열 수 있도록 모든 종속성으로 소스를 "내보내기"하고 싶습니다.

프로젝트를 전쟁 파일로 포장 할 때는 모든 종속성이 포장되어 있습니다.

그래서 나는 그 모든 의존성과 내 출처를 한 곳에 모으고 싶습니다.이 모든 라이브러리가 탐지 된 모든 라이브러리 (Eclipse 또는 Idea)로 열 수 있습니까?

도움이 되었습니까?

해결책

목표로 Maven-Dependency-Plugin을 사용해보십시오 카피 의존성

<project>
[...]
<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <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>
</build>
[...]
</project>

추신.
Maven과 IDE 통합을 알고 있습니까 ( 체육)? Maven은 특정 IDE에 대한 프로젝트를 생성하고 모든 종속 항아리를 변수로 포함시킬 수 있으므로 (로컬 저장소 에서이 항아리를 가리키는) 사본 부근을 사용할 필요가 없습니다.

다른 팁

실제로 소스가있는 번들을 만들 수있는 것은 없습니다. 그리고 상자 밖에 종속성. 이를 위해서는 일부 플러그인의 조합을 사용해야합니다.

종속성의 경우 Maven 2 종속성 플러그인 그리고 그것 copy-dependencies Cetnar가 지적한대로 도움이 될 것입니다.

출처의 경우 필요할 수 있습니다 Maven 소스 플러그인 그리고 그것 source:aggregate 목표 (또는 아마도 Maven 어셈블리 플러그인 그리고 사전 정의 된 src 설명자이지만 source:aggregate 멀티 모듈 빌드에 편리합니다).

모든 것을 함께 묶기 위해 (그리고 아마도 포장을 풀었을 것입니다) 나는 Maven 어셈블리 플러그인.

출처와의 전쟁

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <webResources>
        <resource>
          <directory>${build.sourceDirectory}</directory>
          <targetPath>src</targetPath>
        </resource>
      </webResources>
    </configuration>
  </plugin>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top