java - 在 maven 项目中添加 maven 项目作为依赖项
问题描述
我有两个 Maven 项目,都是从 Eclipse 中的默认 Maven 结构创建的。
项目 A 依赖于项目 B。为了在 B 中使用来自 A 的类,我可以将 B 添加到 A 的构建路径中。
如何使用 Maven 达到相同的效果?
目前,我的文件系统上都有这两个项目,但我想以尽可能类似的方式添加此依赖项,例如,从远程存储库添加 GSON(图 1),因为这就是我的方式想在将来处理我自己的存储库。
目前,当我尝试这个时:
<dependency>
<groupId>vision.voltsofdoom</groupId>
<artifactId>voltsofdoom</artifactId>
<version>0.0.1</version>
<type>pom</type>
</dependency>
...并从构建路径中删除任何其他项目,Eclipse 无法解析我的任何导入(当我将项目 B(voltsofdoom)添加到 A 的(casketofazamgarath)构建路径时,一切正常。
B 的 (voltsofdoom) 基本 pom 看起来像这样。
<groupId>vision.voltsofdoom</groupId>
<artifactId>voltsofdoom</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
B (voltsofdoom) 没有出现在“Maven Repositories”视图的“Local Repository”选项卡中,而是出现在“Workspace Projects”中。
图 1(添加 GSON):
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
==
答案:按照正确的标记答案。修改后的片段是:
<dependency>
<groupId>vision.voltsofdoom</groupId>
<artifactId>voltsofdoom</artifactId>
<version>0.0.1</version>
</dependency>
解决方案
您可以在maven clean install
不依赖其他项目(即“依赖项”)的项目上运行目标,这会将您的项目“导出”到用户目录中的本地 .m2 目录。
之后,您应该能够使用您在问题中提到的代码片段从依赖项目中访问它(尽管我不太确定<type>
标签的作用)。
推荐阅读
- php - 如何修复非对象错误的属性“num_rows”
- php - 您如何设法与 Paypal 合作,在您的应用程序中创建类似系统的承诺?
- .net - 根据 Http 响应启用/禁用按钮
- javascript - vue中,使用组件标签动态切换组件时如何给子组件传值
- javascript - goog.cryp.Hmac 无法从节点 js 的 crypt 重现结果
- kotlin - Kotlin 如何使用辅助构造函数进行扩展
- android - Android Q:我可以设置一次默认目录并在没有文件选择器的情况下保存文件吗?
- python-3.x - 为什么大写 Right 的 while 循环没有运行?
- c - CMSIS DSP FFT 库电平测量缺乏准确性
- can-bus - 如何在 CANoe 项目中创建一个面板,从 DBC 中选择特定 ECU 并从所选 ECU 中选择 TX/RX 消息?