2016-09-07 1 views
1

Java 프로젝트를 maven으로 컴파일했습니다. 나는 mvn install을 할 경우, 그것은/컴파일 그것을 내가 명령을 실행 처음 설치할을 방출Maven SNAPSHOT은 릴리스로 고려됩니다

<project ...> 
    <groupId>group.id</groupId> 
    <artifactId>scripts</artifactId> 
    <version>1.0.1-SNAPSHOT</version> 
    ... 
    <dependencies> 
      <dependency> 
       <groupId>global</groupId> 
       <artifactId>common</artifactId> 
       <version>10.2.3-SNAPSHOT</version> 
      </dependency> 
    </dependencies> 
    ... 
</project> 

스냅 : 각 프로젝트는 자신의 다음과 같은 POM 있습니다. 다음 번에는 설치하지 않습니다. 메이븐 (Maven)이 릴리스으로 생각하면 이음새는 SNAPSHOT입니다. 설치 패키지에 포함 된 타임 스탬프에서 확인할 수 있습니다. 버전 번호를 변경하지 않으면 타임 스탬프도 변경되지 않습니다.

필자는 Maven 구성을 놓쳤다 고 생각하지만, 이는 모든 테스트 배포에서 프로젝트 버전 (및 의존성)을 변경해야하므로 개발에 많은 영향을줍니다.

참고 : 나는 3.3.3을 사용 중입니다. 3.1.0에서이 동작이 없었던 것처럼 보입니다 (이전 버전은 100 % 확실하지 않습니다. 어쨌든 아주 오래되었습니다). Maven은 Nexus와 결합됩니다. 어쩌면 그 문제가 그것에서 비롯된 것이며 나는 잘못된 말에 초점을 맞추고 있습니다.

힌트를 보내 주셔서 감사합니다.

편집 : 질문은 다음과 같습니다 어떻게 받는다는 만 RELEASE처럼 대신 처음의 때마다 스냅 샷을 설치받을 수 있나요?

편집

우리는 항상 컴파일하고 소스를 설치하는 mvn install을했습니다를 해결했다. 웬일인지 mvn clean 명령을 사용하지 않았습니다. 모든 소스를 다시 컴파일하는 올바른 maven 명령은 mvn clean install입니다. 버전이 코드 변경에 필요한 경우가 복잡 버전의 아이디어를 제공하지만

은, 코드베이스에 대한하시기 바랍니다 버전이

+0

여기에 좋은 정보가 많이 있지만 질문은 무엇입니까? – byxor

+0

http://stackoverflow.com/questions/2358965/maven-automatic-snapshot-update의 가능한 복제본입니다. 답변 됨'mvn -U, --update-snapshots 원격 저장소의 업데이트 된 릴리스와 스냅 샷을 확인하십시오.이 경우에 도움이 될 수 있습니까? – Xantier

+0

어디에서보고 있습니까? 'target' 폴더 또는'.m2-> repo'? repo에 릴리즈를 설치하십시오. 매번이 작업을 수행합니다. – VinayVeluri

답변

0

을 @VinayVeluri 자신을 감사드립니다. 이 스냅 샷 업데이트에 대한 자동에있는 경우는 유효 기간이 있다면

,이 명령 줄 인수 힘 메이븐 원격 저장소에있는 모든 스냅 샷을 확인하고 로컬 저장소를 업데이트,

mvn -u clean install 

이 추가되면 사용 .

source

+1

그 동안 우리는이 문제를 파헤 쳤고 똑같은 해결책을 찾았습니다. 그것은 매우 간단합니다. 이것은 매우 간단한 무언가가 그것을 해결할 때 당신이 어떻게 어리석은지를 보여줍니다. maven이 소스를 다시 컴파일하지 않고'install' 전에'clean'을 한 번도 해보지 않았습니다. 답변 해 주셔서 감사합니다. –

관련 문제