2017-09-20 5 views
0

필자는 몇 가지 기능을 추가 한 maven 프로젝트를 가지고 있으며 그렇게하기 위해 로컬 jar 종속성을 추가해야했습니다. 이 jar 파일을 Github의 프로젝트 lib 폴더에 추가 했으므로 Github에서 프로젝트를 다운로드 한 사람은 maven install : install-file 명령을 사용하지 않고 해당 jar를 m2 디렉토리에 설치할 수 있습니다. 명령 줄을 통해. POM 파일에는 이미 종속성이 있지만 mvn install을 사용하여 스냅 샷을 빌드 할 때 jar 파일을 프로그래밍 방식으로 설치하는 방법이 필요합니다.명령 줄을 사용하지 않고 maven repo에 로컬 jar 파일 설치

생각하십니까?

+0

github 프로젝트에 대한 링크를 추가 할 수 있습니까? – larsgrefer

+0

회사가 비공개 일 수는 없습니까? – Jriz908

+0

메이븐 저장소에서 jar 종속성을 사용할 수없는 이유는 무엇입니까? – larsgrefer

답변

0

옵션 0 :

는 공용 또는의 comany 전체 받는다는 저장소에 jar 파일을 배포합니다. 이 병을 생산하는이 프로젝트는 또한 자식 (허브) 프로젝트의 경우, 1 Jitpack

옵션과 같은 서비스를 사용하는 것이 좋습니다 :

미운하지만, 일할 수 있습니다.

<dependency> 
    <groupId>com.bar</groupId> 
    <artifactId>foo</artifactId> 
    <version>42</version> 
    <scope>system</scope> 
    <systemPath>${project.basedir}/lib/foo-42.jar</systemPath> 
</dependency> 

옵션 2 :

은 더욱 추악하지만, 더 나은 일을 할 수있다.

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-install-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>install-foo</id> 
        <goals> 
         <goal>install-file</goal> 
        </goals> 
        <phase>generate-sources</phase> 
        <configuration> 
         <groupId>com.bar</groupId> 
         <artifactId>foo</artifactId> 
         <version>42</version> 
         <file>${project.basedir}/lib/foo-42.jar</file> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+0

팁 주셔서 감사합니다. 나는 이것을 시도하고 올바른 방향으로 나아가는 스냅 샷을 만들 수있었습니다. 그러나 스냅 샷을 실행하려고하면 추가 된 새 항아리를 참조하는 코드 부분에 도달하면 java.lang.NoClassDefFoundError가 발생합니다. – Jriz908

+0

옵션 2는 어떻습니까? – larsgrefer

+0

옵션 2가 작동하지 않았습니다. 내일 더 자세히 살펴보고 항아리가 회사 레포에 추가 될 수 있는지 알아 보겠습니다. 도와 주셔서 감사합니다. – Jriz908