【问题标题】:Add maven project as dependency in maven project在 maven 项目中添加 maven 项目作为依赖项
【发布时间】:2020-09-13 17:18:54
【问题描述】:

我有两个 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 存储库”视图的“本地存储库”选项卡中,而是出现在“工作区项目”中。

图 1(添加 GSON):

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.3.1</version>
</dependency>

==

回答: 按照正确的标记答案。 修改后的sn-p为:

<dependency>
    <groupId>vision.voltsofdoom</groupId>
    <artifactId>voltsofdoom</artifactId>
    <version>0.0.1</version>
</dependency>

【问题讨论】:

  • 首先使用 maven clean install 命令构建项目 B。(这将转到您本地的 .m2 文件夹。)然后您尝试构建项目 A,项目 B 作为依赖项。

标签: java eclipse maven


【解决方案1】:

您可以在不依赖其他项目(即“依赖项”)的项目上运行maven clean install 目标,这会将您的项目“导出”到您的用户目录中的本地 .m2 目录。

之后,您应该能够使用您在问题中提到的代码 sn-p 从依赖项目访问它(尽管我不太确定 &lt;type&gt; 标记的作用)。

【讨论】:

  • 现在一切顺利!谢谢! (自我注意:不要添加太多配置信息!Maven 不喜欢它!)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
  • 2020-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多