假设我有一个maven项目,里面有一些maven模块.

我的主要模块依赖于其他模块,所以当我编译主模块时,它们应该被编译在一起.

问题是如何将这些模块作为依赖关系添加到主模块?

我知道如果我有一个自定义的lib,我想用maven,让我们来说一个实用程序项目,我必须编译该项目的jar,做一个mvn install:install-file在它上安装在本地存储库和然后将其添加到pom.xml.

我必须使用我所有的模块,并添加依赖关系到我的主模块上的pom.xml吗?因为如果这样做,那么在更改其他模块上的代码时会做很多工作.

使用最好的做法是避免将模块编译/安装到本地存储库的麻烦?

解决方法

问题是如何将这些模块作为依赖关系添加到主模块?

与您的maven项目中添加任何其他依赖关系相同.通过将组ID,工件id和版本添加到< dependency>元件

我必须使用我所有的模块,并添加依赖关系到我的主模块上的pom.xml吗?

如果您的主模块依赖于某个模块A,那么只有主模块的pom应该包含对模块A的依赖性声明.您对模块的所有依赖项执行此操作.

我不知道你在改变其他模块上的代码时所做的很多工作是什么意思. Maven与代码更改无关,它只是在给定的时刻构建项目,而不管它们是什么样的…

使用最好的做法是避免将模块编译/安装到本地存储库的麻烦?

您调用mvn install的任何项目都将构建,并将其复制到本地存储库.这就是你所需要做的,让罐子进入回购.这也将把所有依赖的罐子(如果有的话)放入当地的回收站.

关于多模块项目的最佳实践:

如果您的父项目(其中包含模块的项目)具有< modules>部分列出了应用程序的模块,模块位于父项目的子目录中,然后您只需安装(或任何您想要做的)父项目,并将导致所有模块按声明定义的顺序构建它们之间的依赖关系.这意味着如果您的主模块依赖于模块A,则模块A将在主模块之前构建.这样,您可以使用一个命令构建和安装所有模块.另一方面,这种方法使得在某些情况下不需要的模块之间形成更紧密的耦合,所以它取决于用例是否是一个好的方法.

java – 具有maven的多模块IntelliJ项目 – 如何从一个模块添加依赖关系到另一个模块?的更多相关文章

  1. android – 在IntelliJ中减小调试APK的大小

    我正在合作开发具有9个Android库和10个jar库的中型Android项目.我在IntelliJ中开发,我的协作者在Eclipse中工作.在Eclipse中,调试APK的大小约为2.5MB,在IntelliJ中它是20MB.这怎么可能?我可以在IntelliJ中减小APK的大小,以便更快地将其上传到设备中吗?解决方法APK是一个zip文件.将扩展名更改为.zip并解压缩.看看里面有什么.

  2. “所选目录不是Android SDK的有效主页”IntelliJ 2017

    我正在尝试执行最新AndroidSDK和IntelliJ2017CE的全新安装.我按此顺序做了一些事情:>安装IntelliJ2017CE>安装JDK1.8.x.>使用最新的自制程序说明安装AndroidSDK>在IntelliJ中设置JDK位置>尝试在IntelliJ中设置AndroidSDK位置.最后一步给出了标题中提到的错误.SDK位于/usr/local/share/android-sdk

  3. 检查android sqlite和IntelliJ

    我开始使用以编程方式创建的sqlitedb的小应用程序.当应用程序在模拟器上运行时,有没有办法检查该数据库?

  4. android – 如何使用IntelliJ IDEA正确配置AdMob?

    我正在尝试将AdMob合并到我的Android应用程序中.我正在使用IntelliJIDEA进行开发,我似乎无法正确设置我的项目.此时我已完成以下操作:>是否需要下载AdMobSDK所需的所有初步步骤.>按照指示here,试图为IntelliJIDEA增加它们.我已将AdMobSDK的单入口模块库依赖项添加到我的项目中.如果我尝试在代码中使用它,IDE看起来像是没有问题识别SDK中的类.但是,它无

  5. android – Intellij无法在Genymotion上运行应用程序(但可以启动它)

    我尝试使用genymotion而不是emulator.但是在安装了genymotion和intellij插件之后,我发现我无法在genymotion上运行app.我选择的目标设备是“Showchooserdialog”但是没有genymotion即使我可以用插件启动genymotion.intellij的版本是12.1.4,genymotion是1.1.0.解决方法我刚解决你遇到的同样问题.首先,

  6. android-studio – Android Studio / IntelliJ IDEA编辑器中的中心代码

    我想将我的代码集中在AndroidStudio的/Intellij编辑器中,就像在distractionFree模式下完成一样.现在如果它始终在编辑器的左侧对齐,但我想将它放在窗口的中心.我在设置中找不到任何选项.这可以在不进入无牵引模式的情况下实现吗?

  7. 从批处理文件打开Android签名向导

    在批处理文件中生成签名的APK…时,如何在AndroidStudio中单击并显示对话框?

  8. IntelliJ IDEA 2022.2最新版本激活教程(亲测可用版)永久激活工具分享

    Jetbrains官方发布了 IntelliJ IDEA2022.2 正式版,每次大的版本更新,都会有较大的调整和优化,除本次更新全面拥抱 Java 17 外,还有对IDE UI界面,安全性,便捷性等都做了调整和优化完善,用户体验提升不少,相信后面会有不少小伙伴跟着更新

  9. IntelliJ IDEA 2022.1.1 沒有CVS的过程分析

    这篇文章主要介绍了IntelliJ IDEA 2022.1.1 沒有CVS的过程解析,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  10. Intellij IDEA 的maven项目通过Java代码实现Jetty的Http服务器(推荐)

    Jetty是一个轻量级的高度可扩展的基于 java的web服务器和servlet引擎,这篇文章主要介绍了Intellij IDEA 的maven项目通过Java代码实现 Jetty 的 Http服务器从而获取到 Http 的 Get 和 Post 请求,需要的朋友可以参考下

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部