构建grails应用程序作为从另一个项目引用的依赖项?

时间:2011-04-08 17:10:01

标签: spring grails groovy maven dependency-management

将grails应用程序用作依赖项的最佳方法是什么?使用grails maven publisher插件,我可以推动战争,但我似乎无法从其他应用程序正确访问类模型。理想情况下,我可以建立一个瘦的战争或jar,因为我只需要一些域类和接口来进行spring remoting。

将grails应用程序用作依赖项的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

几个小时后,我通过grails create-script MavenInstall

创建了这个
includeTargets << grailsScript("_GrailsWar")

target(main: "Install the grails jar into the local maven repository") {
    depends createConfig
    depends jar, createConfig

    try {
        runMaven("mvn.sh")
    }
    catch (IOException e) {
        runMaven("mvn.bat")
    }
}

target(jar: "Build Grails classes jar") {
    depends compile
    ant.jar(basedir: "target/classes", destfile: "target/${metadata.'app.name'}-${metadata.'app.version'}.jar")
}

def runMaven(mavenCommand) {
    def command = [mavenCommand, "install:install-file", "-DgroupId=${config.grails.project.groupId}", "-DartifactId=${metadata.'app.name'}",
            "-Dpackaging=jar", "-Dversion=${metadata.'app.version'}",
            "-Dfile=target/${metadata.'app.name'}-${metadata.'app.version'}.jar", "-DgeneratePom=true"]

    println "Executing ${command.join(" ")}"
    def proc = command.execute()

    println proc.in.text
}

setDefaultTarget(main)

你去吧。你的grails应用程序作为一个类。