Java 带有公共模块的两个Maven项目

Java 带有公共模块的两个Maven项目,java,maven,pom.xml,Java,Maven,Pom.xml,我有一个分为三部分的项目,PCommon,PWebapp和PAdminConsolePWebapp和PAdminConsole是eclipse中的动态web项目,PComon是java项目,这两个web项目都将使用PComon中的api作为lib文件夹中的jar文件 过去,我在构建路径中添加了import project,我使用Ant编译和构建PWebapp和PAdminConsole,在这两个build.xml文件中都有 使PCommon成为jar文件 现在,我将把我的所有项目更改为Mave

我有一个分为三部分的项目,
PCommon
PWebapp
PAdminConsole
PWebapp
PAdminConsole
是eclipse中的动态web项目,
PComon
是java项目,这两个web项目都将使用
PComon
中的api作为lib文件夹中的jar文件

过去,我在构建路径中添加了
import project
,我使用
Ant
编译和构建
PWebapp
PAdminConsole
,在这两个
build.xml
文件中都有

使
PCommon
成为jar文件

现在,我将把我的所有项目更改为
Maven项目
。但我不知道如何使两个web项目包含一个公共模块,以及如何在运行
package
maven命令打包一个web项目时自动将我的
PCommon
打包到jar文件中

现在我总是在nexus服务器上部署我的
PCommon.jar
。然后在web项目的
pom.xml
中添加
dependency
。但是我认为在公共服务器上部署jar是没有意义的,所以我认为这不是实现这个目标的正确方法。有没有更方便的方法


我知道我可以使用父项目
pom.xml
创建父项目。但是我有两个web项目需要这个模块,
PCommon
中的
pom.xml
只能扩展一个父级,不是吗?

Maven中解决依赖关系的常用方法是使用存储库。第一次需要依赖项时,将从您的存储库下载该依赖项,并将其安装在本地计算机上的存储库中。如果依赖项在远程存储库中不可用,则必须以其他方式将其安装到本地存储库中。在不使用存储库的情况下,还有一些其他方法可以解决依赖关系,但我不建议使用

为了使这更方便,您可以使用适当的IDE。我将Eclipse与插件一起使用。它支持一种叫做“工作区解析”的东西,默认情况下应该启用它。在返回到存储库查找之前,它会扫描您的工作区以查找其他Maven项目。这样做的好处是,您在公共项目中所做的每一项更改都可以立即在其他项目中使用。我想它也会在后台安装到您的本地存储库中,但我不确定。不管怎样,你自己不必担心


IntelliJ IDEA也有类似的功能,但我对它没有太多经验。我相信Netbeans也有某种Maven支持。

我真的不明白您想要实现什么。你能详细说明一下吗?@AndréStannek我想在我构建像
这样的web项目时自动将公共项目打包到一个jar中,我不想每次都先在公共项目中运行mvn install来安装它。