UFO ET IT

Grails BuildConfig.groovy, 빌드, 컴파일 및 런타임의 차이점은 무엇입니까?

ufoet 2020. 11. 27. 21:49
반응형

Grails BuildConfig.groovy, 빌드, 컴파일 및 런타임의 차이점은 무엇입니까?


무슨 사이의 차이점 build, runtime그리고 compile에, BuildConfig.groovy(1.3.7)

grails.project.dependency.resolution = {

    plugins {
        build "acme:acme-cache:latest.integration"
    }

    dependencies {
        build "com.foo.bar:foobar:1.0.5"       
        runtime "org.apache.httpcomponents:httpclient:4.0.3"
        compile("com.thoughtworks.xstream:xstream:1.3.1")
    }
}

  • build -빌드 프로세스에서만 필요한 종속성
  • runtime-응용 프로그램을 실행하는 데 필요한 종속성 (예 : 특정 데이터베이스 공급 업체에 대한 JDBC 구현). 코드는 특정 구현이 아닌 JDBC API에만 의존하기 때문에 일반적으로 컴파일 타임에 필요하지 않습니다.
  • compile-컴파일 타임과 런타임 모두에 필요한 의존성. 이것은 가장 일반적인 경우입니다.

몇 가지 다른 종속성 범위가 있습니다.

  • test -테스트에서만 필요한 종속성, 예 : 모의 / 테스트 라이브러리
  • provided-컴파일시 필요하지만 앱과 함께 패키징해서는 안되는 종속성 (일반적으로 컨테이너에서 제공하기 때문). 예는 Servlet API입니다.

컴파일과 빌드의 차이점에 대해 이전의 두 답변이 충돌하는 것 같습니다. 빌드는 grails compile을 포함하는 범위 grails run-app이며 컴파일은 전자 일 뿐이라고 생각합니다.


Grails 3에서 종속성은 Gradle에서 관리합니다. grails-app/conf/BuildConfig.groovy파일이 대체되었습니다 에 의해 build.gradle프로젝트의 루트에있는 파일.

Grails의 사용자 가이드는 어떻게 Gradle을 설정으로 Grails depencies에 대한 설명 받는 의미와 관련 Gradle을 문서 이 항목에 대한 자세한 내용은.


몇 가지 grails 명령은 차이점을 설명하는 데 도움이됩니다. 고려 grails run-appgrails compile. grails compile컴파일 단계이며 컴파일 시간 종속성을 포함합니다. grails run-app실행 단계이며 런타임 종속성을 포함합니다. 빌드 종속성은 이러한 명령을 실행하는 데 필요할 수있는 모든 것입니다 (예 : 일부 빌드 이벤트에 연결되는 사용자 지정 스크립트).

따라서 종속성이 포함되어 있는지 확인해야 할 때 가장 적합한 것을 선택합니다.

참고 URL : https://stackoverflow.com/questions/8751508/grails-buildconfig-groovy-difference-between-build-compile-and-runtime

반응형