[英]Two Maven project with public module
我有一个项目,该项目分为三个部分: PCommon
, PWebapp
和PAdminConsole
。 PWebapp
和PAdminConsole
是PAdminConsole
中的动态Web项目, PCommon
是Java项目,并且两个Web项目都将PCommon
的api作为lib文件夹中的jar文件使用。
过去,我在构建路径中添加了import project
,我使用Ant
来编译和构建PWebapp
和PAdminConsole
并且在两个build.xml
文件中都有
<ant antfile="${common}/../build.xml" inheritAll="false"></ant>
使PCommon
成为jar文件。
现在,我将所有项目更改为Maven Project
。 但是我不知道如何使两个Web项目包含一个公共模块,以及当我运行package
maven命令打包一个Web项目时如何将我的PCommon
自动PCommon
到jar文件中。
现在,我总是将我的PCommon.jar
部署在nexus服务器上。 然后在Web项目的pom.xml
中添加dependcy
。 但是我认为没有必要在公共服务器上部署jar,因此我认为这不是实现此目标的正确方法。 有什么更方便的方法吗?
我知道我可以使用父pom.xml
创建父项目。 但是我有两个Web项目需要该模块, PCommon
的pom.xml
只能扩展一个父对象,不是吗?
解决Maven中依赖关系的常用方法是使用存储库。 第一次需要依赖项时,它将从您的存储库下载并安装在本地计算机上的存储库中。 如果远程存储库中没有依赖项,则必须以其他方式将其安装到本地。 还有其他几种无需使用存储库即可解决依赖关系的方法,但我不建议使用。
为了使此操作更加方便,您可以使用适当的IDE。 我将Eclipse与m2e插件一起使用。 它支持一种称为“工作空间解析”的功能,默认情况下应启用该功能。 在回退到存储库查找之前,它将在您的工作区中扫描其他Maven项目。 这样做的好处是,您在普通项目中所做的每个更改都可以立即在其他项目中使用。 我认为它也会在后台安装到本地存储库中,但我不确定。 无论如何,您不必自己担心。
IntelliJ IDEA的工作原理与此类似,但我没有太多经验。 我确定Netbeans也支持Maven。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.