我确实拥有自己开发的Java库( MyLib ),我后来在私有Maven存储库上发布它,并将其作为另一个webapp项目中的Maven依赖项( MyWebapp )。如果我同时在Eclipse中打开了两个项目 - MyLib 和 MyWebapp - 是否有办法以某种方式配置 MyWebapp ,那么本地在构建/部署时,对 MyLib 所做的更改会直接添加到 MyWebapp 吗?问题是在开发期间总是不习惯在 MyLib 中进行一些更改,进行构建,部署到Maven存储库,然后进行 MyWebapp 构建,部署它然后我才能看到这些变化如何影响webapp项目...
我希望在开发过程中减少开销,并且愿意了解变更是如何运作的。当然,当涉及到真正的版本时,上述流程确实有意义且效果很好。
谢谢!
答案 0 :(得分:0)
遗憾的是,没有简单的“只是勾选此选项”解决方案。您可以选择以下选项:
将MyLib
转换为Maven模块,并将其添加到MyWebapp
的来源。当然,这将使以后单独重用库变得更加困难。
停止部署应用程序。如果查看Eclipse中的类路径,m2e应该已将依赖项作为项目从工作空间添加(而不是依赖于存储库中的JAR)。如果没有:有一个选项。
下一步是创建另一个依赖于Jetty和MyWebapp
的项目。在那里创建一个Java应用程序(即一个main()
的文件),它创建一个Jetty服务器并将其配置为使用当前的类路径。这样,你可以像任何其他Java应用程序一样启动webapp而无需部署 - Jetty只会从m2e汇编的类路径中加载类。