2016-10-13 3 views
4

다른 gradle 프로젝트에 대한 종속성이있는 gradle 프로젝트가 있습니다. 의존성은 사내 넥서스 서버에 게시되어 잘 해결 될 수 있습니다.Gradle이 스냅 샷 종속성을 업데이트하지 않습니다.

종속성이 로컬로 캐시 된 후에는 gradle 명령에 --refresh-dependencies를 전달하거나 캐시에서 수동으로 삭제하지 않으면 새로 고쳐질 수 없습니다.

인터넷을 검색 한 결과 같은 문제가 많은 사람들을 발견했습니다. 제안 사항은 종속성을 변경으로 표시하는 것이 었습니다 (이름이 -SNAPSHOT이므로 암시 적으로 필요하지는 않지만).

configurations.all { 
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds' 
} 

그러나 이것은 나를 위해 작동하지 않습니다. 그래버가 기본값 인 24 시간이 될 때까지 항상 캐시 된 버전을 사용하고 다시 다운로드합니다.

내가 누락 된 부분이 무엇인지, 또는 gradle이 수행중인 작업을 진단 할 수있는 방법과 새로운 버전을 다운로드 할 넥서스가없는 이유를 아는 사람이 있습니까?

+0

글쎄,'--refresh-dependencies' 옵션은 정확히 이런 이유로 존재합니다. – Henry

+0

그러나 SNAPSHOTs뿐만 아니라 모든 종속성을 새로 고칩니다. 따라서 캐시를 의미없는 것으로 렌더링하기 때문에 원하지 않습니다. – DaveJohnston

+0

명시 적으로 종속성을 변경으로 표시하는 데 도움이됩니까? ' changing = true }' – Alpar

답변

8

시행 착오를 거쳐 기능이 예상대로 작동하지 않는 이유는 우리가 spring-boot 플러그인을 사용했기 때문입니다. 모듈은 항상 다운로드 할 수 변경 Gradle을 파일 힘이 조각을 추가

dependencyManagement { 
    resolutionStrategy { 
     cacheChangingModulesFor 0, 'seconds' 
    } 
} 

다음 spring-boot 플러그인은 변경 모듈 자체 구성을 가지고 자신의 의존성 관리 플러그인을 사용합니다.