source

Gradle - 종속성의 최신 릴리스 버전을 가져옵니다.

bestscript 2022. 11. 1. 21:37

Gradle - 종속성의 최신 릴리스 버전을 가져옵니다.

알 수 요?Gradle하와같같 같같같다다

'junit' 종속성을 검색하고 최신 'release' 버전을 가져옵니다.

메이븐 아이비, 그 가 '아니다'로 나왔습니다.Could not resolve dependency ... 삭제:

  • compile "junit:junit:latest.release"만 "로 됨"mavenCentral() 10이라고 하면 (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]"
    }
    

내가 뭔가 오해했나 봐.의존 관계의 최신 버전을 얻는 것이 왜 그렇게 어려운 작업일까요?

최신 릴리스를 입수하는 것이 도움이 되는 경우가 있습니다.예를 들어, 자신의 의존 관계를 자주 릴리스 하는 경우입니다.

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

compile "junit:junit:+"

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

compile "junit:junit:4.+"

Maven Gradle을 .RELEASE되지 않고(Ivy)를합니다.latest.release(latest.integration한 버전을 단, 일반적으로 권장되는 것은 정확한 버전을 기반으로 빌드하는 것입니다.그렇지 않으면 빌드가 복권이 될 수 있습니다.

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'
        [...]
    }
}
[...]

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

./gradlew dependencyUpdates -Drevision=release

또, 어느 의존 관계가 낡은 것인지도 표시됩니다.

최신 Gradle User Guide에서는 plus sign in 버전에 대해 설명하고 있습니다.

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실제 사용 중인 버전 번호가 표시됩니다.

Kotlin DSL의 다른 유사한 표기법(build.gradle.kts)은 다음과 같습니다.

dependencies {
    implementation("or.jsoup", "jsoup") {
        version {
            require("1.14.+")
        }
    }
    // OR simply
    // implementation("or.jsoup:jsoup:1.14.+")
}

자세한 내용은 Gradle 문서를 참조하십시오.

문서에서 발췌한 내용:

동적 버전은 버전 범위 중 하나입니다(예:2.+또는 사용 가능한 최신 버전의 플레이스 홀더가 될 수 있습니다. latest.integration.

언급URL : https://stackoverflow.com/questions/10370422/gradle-getting-the-latest-release-version-of-a-dependency