gradle plugins block을 이해하지 못합니다
apply plugin: 'someplugin1'
apply plugin: 'maven'
그리고 다른 하나 :
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
첫 번째 블록에는 플러그인 이름이 있습니다. 두 번째 패키지와 버전. 첫 번째 블록을 사용해야하는 위치와 두 번째 블록을 사용해야하는 시점을 이해하지 못합니다.
gradle plugins block을 이해하지 못합니다
apply plugin: 'someplugin1'
apply plugin: 'maven'
그리고 다른 하나 :
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
첫 번째 블록에는 플러그인 이름이 있습니다. 두 번째 패키지와 버전. 첫 번째 블록을 사용해야하는 위치와 두 번째 블록을 사용해야하는 시점을 이해하지 못합니다.
답변:
plugins
블록은 플러그인을 적용하는 새로운 방법이다, 그들은에서 사용할 수 있어야합니다 Gradle을 플러그인 저장소 . apply
방법은 빌드에 플러그인을 추가하는 나이, 아직 더 유연한 방법입니다.
새로운 plugins
방법은 다중 프로젝트 구성 ( subprojects
, allprojects
)에서는 작동하지 않지만 각 하위 프로젝트의 빌드 구성에서는 작동합니다.
기능이 진행됨에 따라 plugins
구성 방법이 이전 방식을 능가 한다고 생각 하지만이 시점에서 둘 다 동시에 사용할 수 있습니다.
plugins {...}
)을 사용하여 플러그인을 적용하는 것은 공식 Gradle 플러그인 저장소에 게시되지 않은 개인 플러그인 또는 회사 플러그인에는 작동하지 않습니다. 그렇기 때문에 새로운 접근 방식이 개인 저장소 검색을 지원할 때까지 이전 접근 방식이 적어도 살아남기를 바랍니다.
plugins
Gradle 튜토리얼 (Gradle 버전 5.6.2)에 따라 다중 프로젝트에서 작동합니다. guides.gradle.org/creating-multi-project-builds/… 전체 프로젝트에 플러그인을 추가하기 위해 plugins
with apply false
를 사용 하지만 추가하지는 않습니다. 루트 프로젝트에. 서브 프로젝트는 plugins
블록을 다시 사용 하여 플러그인을 추가합니다.
plugins
over 를 사용 하는 데는 아무런 의미가 없습니다 apply plugin
.
apply plugin
@cjstehno가 이미 언급했듯이 apply plugin
피해야 할 레거시 방법입니다.
플러그인 DSL의 도입으로, 사용자는 플러그인을 적용하는 레거시 방법을 사용할 이유가 거의 없습니다. 빌드 작성자가 현재 작동하는 방식의 제한으로 인해 플러그인 DSL을 사용할 수없는 경우에 여기에 설명되어 있습니다.
새로운 plugins block
방법을 사용하면 선택적 매개 변수를 사용하여 플러그인을 추가하고 적용시기를 제어 할 수 있습니다 apply
.
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
plugins
블록 에 이미 추가되었지만 적용되지 않은 플러그인을 적용하려는 상황에서는 레거시 방법을 계속 사용합니다 . 예를 들어, 마스터 프로젝트에서 플러그인 xyz
은 추가되었지만 적용되지 않으며 하위 프로젝트에만 적용해야합니다 subPro
.
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
더 이상 버전이 필요하지 않습니다. 버전이 필요합니다 plugins
당신은 같은 코어 Gradle을 플러그인 중 하나를 사용하지 않는 블록 java
, scala
...
나는 Spring Boot
응용 프로그램 을 만들려고 할 때 차이점을 이해하는 데 시간을 보냈기 때문에 잠시 후에 다시 대답합니다. Spring Boot
플러그인 사용에 대한 다음 예제 는 많은 도움이되었습니다.
현재 사용해야 할 것 :
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Gradle 2.1 이전에 사용 된 것 :
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.1.RELEASE"
}
}
apply plugin: "org.springframework.boot"
apply plugin xxx
에 plugins { id xxx }
(나는 그것을 시도하고 작동하지 않았다)