우리는 다음과 같은 의존성이 : 문서에 대한 우리의 이해에 따르면왜 내 gradle 빌드가 최신 종속성을로드하지 않습니까? 우리 Gradle을 대부분의 프로젝트에서
compile('com.xxx.yyy.zzz:ch-commons:+')
를, 이것은 우리 받는다는 저장소에서 ch-commons
의 최신 버전을 검색 할 예정이다.
TL;
우리의 실제 "최신 버전의"DR은 1.7.0-SNAPSHOT
이지만, Gradle을가 1.6.0-SNAPSHOT
를 검색 실제로입니다.
다음과 같이
우리의 저장소 구성은 전체 이야기 :
repositories {
maven { url 'https://local-repo/artifactory/apps-release-local' } // company application release builds
maven { url 'https://local-repo/artifactory/apps-snapshot-local' } // company application snapshot builds
maven { url 'https://local-repo/artifactory/repo1' } // company lazy mirror of central repos
mavenCentral()
jcenter()
}
나는 apps-release-local
를 제외하고 이러한 위치 중 하나에는 ch-commons
유물이 없음을 확인했습니다. 그리고 apps-release-local
에서 우리는 다음과 같은 내용을 (SHA1, MD5, 및 메타 데이터 파일 생략)가 다음 1.7.0-SNAPSHOT
디렉토리 내에 찾고
Index of apps-snapshot-local/com/xxx/yyy/zzz/ch-commons
Name Last modified Size
../
1.0.1-SNAPSHOT/ 07-Apr-2016 16:09 -
1.0.2-SNAPSHOT/ 08-Apr-2016 11:03 -
1.0.3-SNAPSHOT/ 08-Apr-2016 14:32 -
1.0.4-SNAPSHOT/ 13-Apr-2016 12:33 -
1.1.0-SNAPSHOT/ 15-Apr-2016 12:37 -
1.2.0-SNAPSHOT/ 17-May-2016 13:16 -
1.2.1-SNAPSHOT/ 18-May-2016 14:28 -
1.3.0-SNAPSHOT/ 14-Jun-2016 15:42 -
1.4.0-SNAPSHOT/ 17-Jun-2016 11:57 -
1.5.0-SNAPSHOT/ 17-Jun-2016 13:42 -
1.5.1-SNAPSHOT/ 21-Jun-2016 16:16 -
1.6.0-SNAPSHOT/ 22-Jun-2016 09:27 -
1.6.2-SNAPSHOT/ 30-Jun-2016 22:02 -
1.6.3-SNAPSHOT/ 01-Jul-2016 10:42 -
1.7.0-SNAPSHOT/ 01-Jul-2016 13:34 -
을 우리는 (같은 물건 생략) 다음과 같은 내용이 있습니다
Index of apps-snapshot-local/com/xxx/yyy/zzz/ch-commons/1.7.0-SNAPSHOT
Name Last modified Size
../
ch-commons-1.7.0-20160701.183333-1-sources.jar 01-Jul-2016 13:34 14.54 KB
ch-commons-1.7.0-20160701.183333-1.jar 01-Jul-2016 13:34 22.19 KB
ch-commons-1.7.0-20160701.183333-1.pom 01-Jul-2016 13:34 2.21 KB
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>com.xxx.yyy.zzz</groupId>
<artifactId>ch-commons</artifactId>
<version>1.6.3-20160701.154200-1</version>
<versioning>
<latest>1.7.0-SNAPSHOT</latest>
<versions>
<version>1.0.1-SNAPSHOT</version>
<version>1.0.2-SNAPSHOT</version>
<version>1.0.3-SNAPSHOT</version>
<version>1.0.4-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<version>1.2.0-SNAPSHOT</version>
<version>1.2.1-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<version>1.4.0-SNAPSHOT</version>
<version>1.5.0-SNAPSHOT</version>
<version>1.5.1-SNAPSHOT</version>
<version>1.6.0-SNAPSHOT</version>
<version>1.6.2-SNAPSHOT</version>
<version>1.6.3-SNAPSHOT</version>
<version>1.7.0-SNAPSHOT</version>
</versions>
<lastUpdated>20160701183429</lastUpdated>
</versioning>
</metadata>
을 또한 우리가 명시 적 V를 참조하는 의존 관계 선언을 변경하는 경우, 다음과 같이 apps-snapshot-local/com/xxx/yyy/zzz/ch-commons/maven-metadata-2.xml
내용은 그 다음 올바른 버전 1.7.0-SNAPSHOT
을 검색하여 "올바르게"작동합니다.
그럼, 왜 다음 최신 버전을 검색 +
버전 와일드 카드로 설정 종속성이 아닌가요?
무엇 받는다는 메타 데이터 파일의 상태를? – JBaruch
나는이 질문을 게시 한 후 실제로''''1.7.0-SNAPSHOT'''에 부딪 혔습니다. 그래서''''maven-metadata-2.xml''은 최신 내용입니다. 하지만 내 로컬 빌드는 여전히''1.6.0-SNAPSHOT''을 검색하고 있습니다. – BalRog
질문의 Curent 편집에는 Maven 메타 데이터 파일의 전체 내용이 포함되어 있습니다. – BalRog