IDEA搭建多模块的Maven项目方式(相互依赖)

 更新时间:2024年08月27日 11:36:05   作者:X_u  
这篇文章主要介绍了IDEA搭建多模块的Maven项目方式(相互依赖),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

需求

idea上搭建maven项目 MainModule,MainModule依赖ModuleA和 ModuleB,ModuleB依赖ModuleA。

ModuleA 和ModuleB中只有serve层到数据库层的文件,即这两个模块的maven项目,只有src/main/java文件夹。

方式一:MainModule引用ModuleA和ModuleB的jar形式

即将ModuleA和ModuleB编译后的jar包编译到MainModule的lib文件中。

运行项目的时候MainModule会走ModuleA和ModuleB的源码,MainModule勾选自动编译或者手动编译MainModule,修改ModuleA和ModuleB的代码后,会即时生效。

步骤:

1.导入maven项目:MainModule如图:

2.MainModule(pom.xml)如下图:

3.如图引maven项目:ModuleA和ModuleB

4.ModuleA(pom.xml):

5.ModuleB(pom.xml)如下图:

6.查看MainModule是否依赖ModuleA和ModuleB这两个项目:

说明:

这种方式,项目MainModule加入ModuleA和ModuleB会自动依赖源码。

方式二:MainModule引用ModuleA和ModuleB的源码形式

即将ModuleA和ModuleB源码编译后输出到MainModule的编译路径下面。

步骤:

1.导入maven项目MainModule

2.MainModule(pom.xml)如下图:ModuleA和ModuleB.jar范围为:provided(表示运行时,不会将包放进lib里面)

3.如图引入maven项目:ModuleA和ModuleB

4.ModuleA(pom.xml):, 

5.ModuleB(pom.xml):

6.设置MainModule

说明:

这种方式,项目MainModule直接运行的是ModuleA和ModuleB源码而不是jia包。

方式三:使用pom.xml的

<parent></parent>

标签。以后补齐

总结

不同点:

  • 方式一:build artifacts后,moduleA和moduleB以jar的形式存在MainModule编译后的的lib文件夹下面。
  • 方式二:build artifacts后,moduleA和moduleB以源码的形式存在MainModule编译后MainModule\target\MainModule\WEB-INF\classes文件夹的下面。

相同点:

  • MainModule的自动编译或者手动编译后,修改moduleA和moduleB的代码,会即时生效。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring中ClassPathXmlApplicationContext类的使用详解

    Spring中ClassPathXmlApplicationContext类的使用详解

    这篇文章主要介绍了Spring中ClassPathXmlApplicationContext类的使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java中的包(package)是什么和使用方法

    Java中的包(package)是什么和使用方法

    包是Java中一种强大的组织代码的工具,它们帮助开发者将代码分组,防止命名冲突,并通过控制访问级别来增强代码的安全性,这篇文章主要介绍了Java中的包(package)是什么和如何使用它们,需要的朋友可以参考下
    2024-07-07
  • Java语法基础之函数的使用说明

    Java语法基础之函数的使用说明

    函数就是定义在类中的具有特定功能的一段小程序,函数也称为方法
    2013-07-07
  • org.apache.zookeeper.KeeperException.BadVersionException异常的解决

    org.apache.zookeeper.KeeperException.BadVersionException异常的解

    在使用Apache ZooKeeper进行分布式协调时,你可能会遇到org.apache.zookeeper.KeeperException.BadVersionException异常,本文就来介绍一下解决方法,感兴趣的可以了解一下
    2024-03-03
  • SpringBoot 多数据源及事务解决方案小结

    SpringBoot 多数据源及事务解决方案小结

    本文主要介绍了多数据源管理的解决方案(应用层事务,而非XA二段提交保证),以及对多个库同时操作的事务管理,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • Java内部类及其特点的讲解

    Java内部类及其特点的讲解

    今天小编就为大家分享一篇关于Java内部类及其特点的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 详解java解决分布式环境中高并发环境下数据插入重复问题

    详解java解决分布式环境中高并发环境下数据插入重复问题

    这篇文章主要介绍了java解决并发数据重复问题 ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 关于报错IDEA Terminated with exit code 1的解决方法

    关于报错IDEA Terminated with exit code 

    如果在IDEA构建项目时遇到下面这样的报错IDEA Terminated with exit code 1,那必然是Maven的设置参数重置了,导致下载错误引起的,本文给大家分享两种解决方法,需要的朋友可以参考下
    2022-08-08
  • 详解Servlet 3.0/3.1 中的异步处理

    详解Servlet 3.0/3.1 中的异步处理

    这篇文章主要介绍了详解Servlet 3.0/3.1 中的异步处理,实例分析了servlet 3.0异步处理的技巧,非常具有实用价值,需要的朋友可以参考下
    2017-04-04
  • Redis Lettuce连接redis集群实现过程详细讲解

    Redis Lettuce连接redis集群实现过程详细讲解

    这篇文章主要介绍了Redis Lettuce连接redis集群实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01

最新评论