2016-10-14 2 views
3
나는 문제없이 내 응용 프로그램을 구축하고

:는 저장소의 지점 무엇

mvn clean install -o 

하지만 난 .m2/Settings.XML이 내 기본 프로필에서 저장소를 제거 할 때

지금 오프라인 저장소에 대해 불평 왜

The repository system is offline but the artifact com.ibm.informix:ifxjdbc:jar:4.1 is not available in the local repository.

:

<repositories> 
    <repository> 
     <id>ais3-repo</id> 
     <name>My Repository</name> 
     <url>some.url.to.work.artifactory</url> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     <layout>default</layout> 
    </repository> 
    <repository> 
     <id>icz-internal-repo</id> 
     <url>some.url.to.work.artifactory</url> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
</repositories> 

은 그때 오류가 발생했습니다? 심지어 말도 안되는 URL을 편집하더라도 여전히 작동 중입니다. 따라서 URL이 irelevant 일 때 오프라인 maven 모드에서 이러한 저장소의 요점은 무엇입니까?

PS : 나는 여전히 로컬 저장소를 정의 설정에서

:

<localRepository>/home/user/.m2/repository</localRepository> 

PS1 :

ll /home/user/.m2/repository/com/ibm/informix/ifxjdbc/4.1 

drwxrwxr-x 5 user user 4096 Jul 22 2014 ../ 
-rw-rw-r-- 1 user user 1057532 Jul 9 2014 ifxjdbc-4.1.jar 
-rw-rw-r-- 1 user user 1366 Oct 14 15:11 ifxjdbc-4.1.jar.lastUpdated 
-rw-rw-r-- 1 user user  57 Jul 9 2014 ifxjdbc-4.1.jar.sha1 
-rw-rw-r-- 1 user user  417 Jul 9 2014 ifxjdbc-4.1.pom 
-rw-rw-r-- 1 user user 1346 Oct 14 15:11 ifxjdbc-4.1.pom.lastUpdated 
-rw-rw-r-- 1 user user  57 Jul 9 2014 ifxjdbc-4.1.pom.sha1 
-rw-rw-r-- 1 user user  788 Sep 22 2014 ifxjdbc-4.1-sources.jar.lastUpdated 
-rw-rw-r-- 1 user user  543 Sep 22 2014 m2e-lastUpdated.properties 
-rw-rw-r-- 1 user user  249 Oct 15 2015 _maven.repositories 
+0

오프라인으로 작업 할 때 저장소가 고려되지 않습니다. 이것은 의도적으로 설계된 동작입니다. 'mvn clean install -o'와 함께 작동하면 프로젝트를 빌드하는 데 필요한 모든 아티팩트가 로컬 저장소에 있습니다. 따라서 artifact com.ibm.informix를 가질 수 없습니다 : ifxjdbc : jar : 4.1이 아티팩트가 아닙니다. 로컬 저장소 *에서 사용할 수 있습니다. 로컬 repo를 변경했거나 종속성을 어딘가에 변경했습니다. '/ home/user/.m2/repository/com/ibm/informix/ifxjdbc/4.1' 아래의 로컬 저장소에서'com.ibm.informix : ifxjdbc : jar : 4.1'입니까? – Tunaki

+0

PS1의 출력을 볼 수 있도록 내 질문을 편집하십시오. – hudi

+1

모든'.lastUpdated' 파일과'_maven.repositories'를 제거 할 수 있습니까? 하지만'mvn clean install -o'를 실행하거나 설정에서 일부 저장소를 제거하는 중에 오류가 발생하지 않아야합니다 ... – Tunaki

답변

0

메이븐 저장소는 여러 받는다는에서 작업하는 큰 개념 매우 유용합니다 프로젝트. 여러 프로젝트에서 필요한 경우 동일한 항아리를 다운로드 할 때 시간을 절약 할 수 있습니다.

maven 프로젝트를 빌드 할 때 먼저 로컬 저장소에서 종속성 병을 찾습니다. 사용 가능하지 않으면 네트워크를 통해 액세스 한 저장소 (인트라넷 또는 인터넷 일 수 있음)에서 다운로드하여 로컬 저장소에 저장합니다.

다운로드 한 후에는 나중에 모든 프로젝트에서 필요하면 동일한 jar가 사용됩니다. (버전 일치해야합니다)

+0

답을 이해하지 못합니다. 질문을 읽었습니까? OP는 절대로 오프라인 모드를 벗어나지 않습니다. – tak3shi

+0

온라인 상태 일지라도, maven은 항상 로컬 저장소를 먼저 참조합니다. 로컬 repo에 jar를 다운로드하기 위해서만 네트워크 연결이 필요합니다. 일단 다운로드되면 로컬 Repo에서 항상 사용됩니다. – Pranalee

+1

당신이 내 질문에 볼 수 있듯이 이것은 사실이 아닙니다. 메이븐 (Maven)은이 항아리를 어디에서 다운로드했는지 관리하고 있으며, 나 같은 더 많은 프로필을 결합하고 있다면 무언가를 제거해야합니다 : http://stackoverflow.com/questions/16866978/maven-cant-find-my-local-artifacts – hudi