[java] Gradle-종속성의 최신 릴리스 버전 가져 오기

Gradle다음 을 말하는 가장 쉬운 방법은 무엇입니까?

‘junit’종속성을 검색하고 최신 ‘릴리스’버전을 가져옵니다.

Maven 및 Ivy 저장소를 관리하는 것은 나에게 일종의 새로운 일입니다. 다음 단계를 시도했지만 Could not resolve dependency ...오류가 발생했습니다.

  • compile "junit:junit:latest.release"저장소 만로 설정하여 작성 합니다 mavenCentral() (그러나 “junit : junit : 4.10″이라고 말하면 작동 함).

  • compile "junit:junit:latest.release"다음과 같은 방법으로 저장소 세트로 작성 하십시오.

    ivy {
        // I also tried 'http://maven.org' and other possible variants.           
        url "http://repo1.maven.org" 
        layout "maven"
    }
    
  • Spring Source Ivy 저장소를 사용하려고 시도했습니다.

    ivy {
        artifactPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
        ivyPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
    }
    

내가 뭔가를 오해했을 수도 있습니다. 최신 버전의 종속성을 얻는 것이 왜 그렇게 어려운 작업입니까?



답변

Gradle은 현재 Maven RELEASE(거의 사용되지 않고 더 이상 사용되지 않음)을 지원하지 않지만 Ivy의 latest.release. 그러나 일반적인 권장 사항은 정확한 버전에 대해 빌드하는 것입니다. 그렇지 않으면 빌드가 복권이 될 수 있습니다.


답변

예를 들어 자신의 종속성을 자주 릴리스하는 경우 최신 릴리스를 얻는 것이 때때로 매우 유용 할 수 있습니다.

다음과 같은 최신 버전을 얻을 수 있습니다.

compile "junit:junit:+"

또는 적어도 다음과 같은 주 버전을 지정하는 것이 좋습니다.

compile "junit:junit:4.+"


답변

Gradle-Versions-Plugin을 확인하십시오. 원하는 것을 정확히 수행합니다 : https://github.com/ben-manes/gradle-versions-plugin

설치는 github 페이지를 참조하십시오. 기본적으로 build.gradle-프로젝트 파일에 다음 두 줄을 추가해야합니다.

apply plugin: 'com.github.ben-manes.versions'

buildscript {
    [...]
    dependencies {
        classpath 'com.github.ben-manes:gradle-versions-plugin:0.8'
        [...]
    }
}
[...]

그런 다음 프로젝트 디렉토리의 터미널에서 다음 명령을 실행하여 플러그인을 사용할 수 있습니다.

./gradlew dependencyUpdates -Drevision=release

그리고 어떤 의존성이 오래된 것인지 보여줄 것입니다!


답변

최신 Gradle 사용 설명서에서는 플러스 로그인 버전을 언급하고 설명합니다.

7.2 부터 . 종속성 선언 :

dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

… 빌드 스크립트는 또한 프로젝트의 테스트를 컴파일하려면 모든 junit> = 4.0이 필요하다고 명시합니다.

에서 23.7. 종속성 해결 작동 방식 :

종속성이 동적 버전 (예 : 1. +)으로 선언 된 경우 Gradle은이를 저장소에서 사용 가능한 최신 정적 버전 (예 : 1.2)으로 해결합니다. Maven 리포지토리의 경우 maven-metadata.xml 파일을 사용하여 수행되는 반면 Ivy 리포지토리의 경우 디렉터리 목록을 통해 수행됩니다.


답변

Android Studio에서 :

당신이 사용하는 경우 +버전에 대한, 및 버전을 알고 싶은 실제로 사용되는 선택 Project의 사이드 바에서, 다음에서 External Libraries당신이 사용중인 실제 버전 번호를 볼 수 있습니다.


답변