Grails BuildConfig.groovy, la diferencia entre generar, compilar, y en tiempo de ejecución?

¿Cuál es la diferencia entre build, runtime, y compile, en 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")
    }
}
InformationsquelleAutor raffian | 2012-01-05

4 Kommentare

  1. 99
    • build la dependencia a la que sólo es necesario por el proceso de generación
    • runtime la dependencia a la que se necesita para ejecutar la aplicación, pero no compila por ejemplo, JDBC aplicación específica de la base de datos de proveedores. Esto no suele ser necesario en tiempo de compilación, ya que el código depende sólo de la API de JDBC, en lugar de una implementación específica de los mismos
    • compile la dependencia a la que se necesita, tanto en tiempo de compilación y tiempo de ejecución. Este es el caso más común

    Hay un par de otras dependencia ámbitos:

    • test la dependencia a la que sólo es necesario por las pruebas, por ejemplo, una burla/biblioteca de pruebas
    • provided la dependencia a la que se necesita en tiempo de compilación, pero no debe ser empaqueta con la aplicación (normalmente debido a que es proporcionado por el contenedor). Un ejemplo es el Servlet API
    • Gracias, No, gran info, solo otra pregunta rápida…la convención para build parece seguir "groupId:artifactId:repository or version", es el mismo para el tiempo de ejecución y compilar así?
    • sí, la misma convención, para todos los ámbitos. Yo nunca uso el repository – yo ni siquiera sabía que existía, así que en mi caso puedo especificar groupId:artifactId:version
    • Estamos usando Artifactory para almacenar todos nuestros artefactos, así que por eso he mencionado…gracias de nuevo!
    • usted podría congigure la repo en el repositories sección de BuildConfig.groovy para evitar tener que configurar para que cada dependencia
  2. 5

    Parece que las 2 anteriores respuestas conflicto en la distinción entre la compilación y construcción. Yo creo que construir es el ámbito que incluye grails compile y grails run-app, mientras que la compilación es sólo el primero.

  3. 1

    Un par de grails comandos de ayudar a ilustrar la diferencia. Considere la posibilidad de grails run-app y grails compile. grails compile es el paso de compilación y se incluyen en tiempo de compilación dependencias. grails run-app es la de ejecutar el paso y se incluyen las dependencias en tiempo de ejecución. Las dependencias son cualquier cosa que usted puede ser que necesite para ejecutar cualquiera de estos comandos, por ejemplo, una secuencia de comandos personalizada que los ganchos en algunos eventos de generación.

    De modo que usted debería escoger el que mejor se adapte a cuando usted necesita estar seguro de que la dependencia está incluido.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea