所以,您有一个多模块Maven项目。调用
mvn gwt:compile
将尝试在4个模块(根模块和3个子模块)中的每个模块上执行该“目标”。因为你的
moduleName
属性(用于配置
模块名
的属性
gwt:compile
目标)可能只存在于
app-client
子模块,
gwt:编译
应用于根模块或
app-shared
子模块。
如果要构建项目,请运行
mvn package
(如果您不想运行测试,请通过
-DskipTests
)。
从技术上讲,你也可以跑步
MVN GWT:编译
但直接在子模块内部。要让它起作用,你首先必须
mvn install
这个
应用程序已共享
子模块;否则Maven将无法解决依赖关系(因为您将不再执行完整的“反应堆构建”)。
有很多原因(参见
http://blog.lexspoon.org/2012/12/recursive-maven-considered-harmful.html
和
http://blog.ltgt.net/maven-is-broken-by-design/
作为起点),我强烈反对这种做法(
根项目上进行构建
是一种反模式;大多数时候你想要的实际上是
mvn verify
)我也不鼓励使用之前的任何阶段
package
使用多模块构建(归根结底只有使用过
打包
,可能与
-dskiptests公司
,和
MVN验证
)