我有一个包含3个工件的项目:
常见的 - 实体,业务逻辑。没有UI代码 webapp-a - 一个公共网络应用程序 webapp-b - 管理员网络应用webapp-a和webapp-b取决于常见。 common配置为部署到本地maven存储库。
到目前为止一切顺利。
我配置了IntelliJ,以便每个工件都是一个单独的模块。模块依赖项已正确配置。我可以向一个共同的类添加一个新方法,并立即在webapp中的类中使用该方法。
但是,当我运行mvn jetty:run
时,它会使用我的存储库中当前部署的公共快照。它不使用我的本地类。如果我将一个方法添加到一个共同的类中,它编译得很好,但在运行时会爆炸。
所以可以:
a)说服jetty:run
使用我的本地公共构建输出
或
b)在我想要提交/部署
之前,我在本地测试时将我的公共输出部署到我的本地~/.m2/repo
或
c)其他一些解决方案? 谢谢你!- 詹姆斯
答案 0 :(得分:2)
如果要使用mvn jetty:run
,则必须安装公共模块。 Maven不会选择你的未打包/卸载的课程。
我正在使用的替代方案是直接从IDE运行Jetty作为伪单元测试。如果您愿意,这里是sample project。 RunDemoHelloWorld
(使用JUnit运行)直接从Eclipse启动Jetty。也应该在IDEA工作。