2010-04-08 135 views
0

我有一个项目有3个工件:maven依赖和码头 - 避免部署

共同 - 实体,业务逻辑。没有UI代码 webapp-a - 公共web应用程序 webapp-b - 管理web应用程序

webapp-a和webapp-b取决于通用。 common被配置为部署到本地maven仓库。

迄今为止好。

我有IntelliJ配置,使每个神器是一个单独的模块。模块相关性配置正确。我可以将一个新的方法添加到一个共同的类中,并立即在webapp的一个类中使用该方法。

但是,当我运行mvn jetty:run时,它使用我的存储库中当前部署的公共快照。它不使用我的本地类。如果我将一个方法添加到一个共同的类中,它会很好地编译,但是会在运行时崩溃。

所以是有可能之一:

一)说服jetty:run使用我的本地常见的构建输出

B)我共同的输出部署到我的本地~/.m2/repo而我测试当地之前,我要提交/部署

三)一些其他的解决方案?

谢谢!

- 詹姆斯

回答

2

如果你想使用mvn jetty:run则必须安装在通用模块。 Maven不会选择你的未打包/卸载类。

我正在使用的替代方法是直接从IDE运行Jetty作为伪单元测试。如果你愿意,这里有一个sample projectRunDemoHelloWorld(可以使用JUnit运行)直接从Eclipse启动Jetty。也应该在IDEA中工作。

+0

啊,好主意。我会尝试的。 – 2010-04-08 21:31:21