gpt4 book ai didi

java - 两个带有公共(public)模块的 Maven 项目

转载 作者:行者123 更新时间:2023-12-01 12:52:10 26 4
gpt4 key购买 nike

我有一个项目分为三部分,PCommon , PWebappPAdminConsolePWebappPAdminConsole是 Eclipse 中的动态 Web 项目,PCommon是java项目,两个web项目都会使用PCommon中的api作为 lib 文件夹中的 jar 文件。

过去,我添加了 import project在构建路径中,我使用了 Ant编译和构建 PWebappPAdminConsole以及 build.xml文件有

<ant antfile="${common}/../build.xml" inheritAll="false"></ant>

制作PCommon到 jar 文件中。

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

现在我总是部署我的 PCommon.jar在 Nexus 服务器上。然后添加dependcypom.xml在网络项目中。但我认为在公共(public)服务器上部署 jar 是没有意义的,所以我认为这不是实现这一目标的正确方法。有没有什么比较方便的方法呢?

我知道我可以与家长一起创建一个家长项目 pom.xml 。但我有两个网络项目需要该模块,pom.xmlPCommon只能扩展一个父级,不是吗?

最佳答案

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

为了让这更方便,您可以使用合适的 IDE。我使用 Eclipse 和 m2e插入。它支持所谓的“工作空间分辨率”,默认情况下应启用该功能。它会在您的工作空间中扫描其他 Maven 项目,然后再返回到存储库查找。这样做的优点是,您在公共(public)项目中所做的每个更改都可以立即在其他项目中使用。我认为它也会在后台安装到您的本地存储库,但我不确定。无论如何,你自己不必担心。

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

关于java - 两个带有公共(public)模块的 Maven 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24139079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com