多模块maven get project - 托管模式问题中的依赖项解析

时间:2011-09-28 12:45:45

标签: gwt maven build

最近我将我的GWT 2.4应用程序拆分为两个maven模块: webapp 。域模块(根据其名称)包含域类,webapp包含所有其他与GWT相关的东西。 Webapp 取决于

一切都与此处描述的几乎相同: http://mojo.codehaus.org/gwt-maven-plugin/user-guide/multiproject.html

当我跑(从反应堆):

mvn clean package

maven适当地构建应用程序WAR:首先它编译,然后 webapp ,接下来创建war文件,可以在tomcat上部署并且工作正常。 但是,如果我尝试在托管模式下运行应用程序:

mvn gwt:run

maven尝试解析对本地存储库和远程存储库中模块的依赖性。由于我已从我的本地仓库中删除它,maven无法找到它并且构建(托管模式)失败。当然我可以先将模块安装到我的本地仓库中,但它对我来说就像是一个肮脏的解决方法。 已故意从本地maven存储库中删除,以确保托管模式使用从本地存储库获取的旧(过时)版本运行,而不是使用以前构建的域强>神器。

如果模块已安装在我的本地存储库中,则在mvn clean package完成后, webapp 目标目录包含爆炸的WAR以及最新版本的 JAR。当我运行gwt:run时,新版本的域工件(在目标中)被替换为从本地仓库获取的过时版本(我可以看到更改)!

这怎么可能?这是gwt maven插件中的错误吗?有没有办法避免这种奇怪的插件行为?

1 个答案:

答案 0 :(得分:1)

这可能是您的解决方案吗? http://mojo.codehaus.org/gwt-maven-plugin/user-guide/productivity.html 对我来说它有效。我也有不同的模块。借助链接,我可以在域模块中进行更改,只需重新启动托管模式即可。但是不适用于所有更改。