我已经构建了一个Maven Grails项目,可以使用命令mvn grails:war
进行构建。
然而,使用标准mvn install
无法工作 - 我得到异常抱怨util Java类(在grails-app / util文件夹下保存)无法编译,因为它无法找到其中一个域类。
我没有使用任何包结构,因此域类不会导入到util类中。
我想我的第一个问题是 - Maven是否完全支持建立一个mavenised Grails项目?我应该期待mvn install
能够工作吗?
我的第二个问题是 - 如果我被迫使用mvn grails:war
构建应用程序 - 当父项目/ pom将其作为依赖模块时,如何强制执行此操作?
答案 0 :(得分:4)
我想我的第一个问题是 - Maven是否完全支持建立一个mavenised Grails项目?我应该期待
mvn install
能够工作吗?
根据Developer - Maven Integration,肯定是的。您是否按照Maven Integration中详述的步骤操作了?您是否使用grails原型来创建项目?它真的使用grails-app
类型的包装吗?
我的第二个问题是 - 如果我被迫使用
mvn grails:war
构建应用程序 - 当父项目/ pom将其作为依赖模块时,如何强制执行此操作?
根据类型grails-app
打包的项目的lifecycle,grails:war
目标绑定到package
阶段。换句话说,没有什么可以强迫你调用grails:war
,只需要调用mvn package
(实际上,你应该这样做)或者包后面的任何其他标准阶段。
因此,要回答您的问题,只需使用<packaging>grails-app</packaging>
作为grails模块,maven将在反应堆构建期间完成其工作。