gpt4 book ai didi

eclipse - 有人可以向我解释 Maven 2(或 3)依赖解析吗?

转载 作者:行者123 更新时间:2023-12-02 07:55:56 24 4
gpt4 key购买 nike

我之前在很多项目中使用过 Maven,但它们已经由其他人配置了。我很快就理解了主要概念(jar 的组、 Artifact 和版本、本地和远程存储库),因此我认为如果有人问我,我将能够轻松地从头开始建立一个新项目。

当我处理相互依赖的多个模块时,情况并非如此。我查阅了 Maven 文档,但它们要么太简洁,要么太技术性(有时我感觉 Maven 的人是为自己编写的,而不是为 Maven 用户编写的)。所以我请求社区帮助。

这是一个典型的场景:

三个存储库:

我正在构建一个普通的 Java EE 项目,其中包含一个 EJB jar 和相应的客户端 jar、一个 Web 模块和一个 JPA 模块(我喜欢将我的实体和所有数据库连接与业务逻辑分开)。这在我的 IDE 中提供了 5 个项目:

  • myapp-ear
  • myapp-ejb
  • myapp-ejb-client
  • myapp-jpa
  • myapp-web

myapp-jpamyapp-ejbmyapp-web 使用。 myapp-ejb-client 包含我的 EJB 的业务接口(interface)。

我应该如何设置这一切?我怀疑我需要某种父项目,但我不确定应该如何组织项目间依赖关系解析。例如:当前当我指定

<dependency>
<groupId>com.mycompany.myapp</groupId>
<artifactId>myapp-jpa</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>

myapp-ejbpom.xml 中,maven 尝试在我的存储库中搜索它,并告诉我找不到 .jar。即使我将所有应用程序组件一一构建并安装到本地存储库中,Maven 始终无法构建ear 文件本身:(

我很想让它在 Eclipse 或 NetBeans 下工作。

最佳答案

我认为你走在正确的道路上。您需要一个父项目来将它们整合在一起。在父项目中(这是重要的部分),您需要将依赖项放在父 pom 的依赖项部分中,而不是放置在父项 pom 的依赖项部分中,而是需要将它们放在 dependencyManagement 中。部分。然后,在子 pom 中,您可以声明父 pom 中的依赖项。

唯一的其他问题(我能想到的)是,当您在 Eclipse 中使用版本控制系统检查项目时,您需要记住将父项目“作为 Maven 项目”检查出来,否则 m2Eclipse 插件往往会崩溃并没有妥善解决问题。

我希望这会有所帮助。

关于eclipse - 有人可以向我解释 Maven 2(或 3)依赖解析吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771149/

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