-
2020-08-14 09:36:11
- 创建maven多模块项目,编写代码,添加子模块相互依赖;
- 举例来说,父项目为cloud-maven-learn,子项目为learn-server(springcloud 的服务治理和服务发现项目,集成eureka),learn-product(springcloud业务模块项目,产品项目,集成ribbon和feign),learn-user(springcloud业务模块项目,用户项目,集成ribbon和feign);
- 可以使用如下代码添加子模块之间的依赖:
<dependency> <groupId>com.jianxin</groupId> <artifactId>learn-user</artifactId> <version>${project.version}</version> </dependency>
- 打包,首先打包learn-server项目,因为此项目为服务治理项目,其他项目打包时会TESTS,测试运行,会向该项目注册;
- 打包时,learn-server的pom中添加如下build依赖:
<packaging>jar</packaging> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
- maven窗口—clean—package,即可在target中找到打好的jar包。可以在cmd窗口中,使用java -jar learn-server.jar来运行项目。
- 然后打learn-product和learn-user项目为可运行的jar包,因为learn-product依赖learn-user项目,所以在打learn-product包之前,需要先将learn-user项目安装到本地maven仓库中。具体步骤为:
7.1 在父项目cloud-maven-learn中clean,清理所有项目中的编译文件;
7.2 在父项目cloud-maven-learn的pom中添加如下打包插件,并通过modules将子项目组织起来:
<modules> <!-- 服务发现和治理模块 --> <module>learn-server</module> <!-- 产品服务模块 --> <module>learn-product</module> <!-- 用户服务模块 --> <module>learn-user</module> </modules> <build> <plugins> <!-- maven 编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.plugin.version}</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> </plugins> </build>
7.3 注销learn-user项目中spring-boot-maven-plugin打包插件:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
7.4 点击learn-user的maven窗口的install,安装成功即可,并查看本地maven仓库是否有了learn-user相应的jar包;
7.5 如果learn-user安装install正常,点击learn-product项目maven窗口的package,进行打包,注意此时learn-product项目的pom中需要有spring-boot-maven-plugin的打包插件,此时learn-product项目打包成功,其jar包内部含有learn-user的jar包依赖。
8. 如果需要将learn-user项目打包为可执行jar包,需要在learn-user项目的pom中添加spring-boot-maven-plugin的插件依赖,然后clean—package,即可获得可运行的jar包。如果lean-user依赖于其他项目(如learn-product),在lean-user打包时,需要按第7点,先把被依赖项目(如learn-product)的spring-boot-maven-plugin的插件进行注销,install到本地仓库,lean-user再去package才可以。
9. 总结一下:
9.1 maven多模块项目打包,需要在父项目中添加:<build> <plugins> <!-- maven 编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.plugin.version}</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> </plugins> </build>
9.2 子项目如果没有依赖,添加如下插件,进行clean—package:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
9.3 子项目之间有依赖,需要先把被依赖项目注销掉spring-boot-maven-plugin,install安装到本地maven仓库,然后依赖的项目进行clean —package;被依赖项目本身打可运行jar包,需要添加spring-boot-maven-plugin插件才可以。
10. 项目示例见:https://gitee.com/manongfaner/cloud-maven-learn
2021.10.09 续
11. 如果报错为 IllegalState Found multiple @SpringBoot… 类似信息,理解为,依赖模块中,有多个@SpringbootApplication ,解决方式有:可以把@SpringBootTest 注解类注销掉,再重新install。
12. 如果报错为:Could not find artifact com.cmcc.ict:community-corrections:pom:1.0-SNAPSHOT ,也就是没有发现父模块的jar包,可以在右侧maven窗口—》父模块项目—》Lifecycle—>clean---->install ,也就是安装父模块。
13. 安装父模块过程中如果报错为,无法找到符号,无法找到包com.cmcc.ict.service等类似的报错,在使用了feign的前提下,考虑feign对打包的影响,可以将feign依赖模块中的service接口类,转义到其他模块中,如果common模块(common模块依赖feign即可)。
14. 再次clean—》install,即可成功安装父模块 community-corrections。
15. 安装成功父模块后,再重新尝试安装子模块,如gateway模块,即可,安装过程中,参考以上第7点添加maven编译插件和注销相关插件。更多相关内容 -
mavenDemo:Idea + Maven多模块工程,模块相互依赖的简单Java Web Demo
2021-02-04 02:43:43Idea + Maven(多个模块) Spring+SpringMVC + MyBatis WebSocket Mybatis发电机 Redis 四郎 二维码 HttpURLConnection Spring预定 ExtJS集成失败 项目建造 创建Maven项目 添加模块 使用方式一添加ssmArtifact-... -
Maven本地子模块互相依赖
2020-01-06 09:10:16很多时候,我们自己的项目有许多的子模块,之间互相有依赖,但是我们没有私服来发布打好的jar包. 最常见的就是本地有一个Util包, 随手写的其他项目想要引用, 却苦于没有私服. 把代码扔到同一个项目, 强迫症有忍不住. 这...很多时候,我们自己的项目有许多的子模块,之间互相有依赖,但是我们没有私服来发布打好的jar包.
最常见的就是本地有一个Util包, 随手写的其他项目想要引用, 却苦于没有私服. 把代码扔到同一个项目, 强迫症有忍不住.
这个问题Maven是有解决方案的.本质上还是打包发布,只是不再发布到远端的Maven仓库,而是打包完成之后, 将这个jar包安装到本地的maven即可.
首先,在你的
util
子模块下执行下列命令.# 打包 mvn clean package # 安装到本地mvn mvn install:install-file -Dfile=your_jar_file_path.jar -DgroupId=your_groupId -DartifactId=your_artifactId -Dversion=your_version # 检查是否安装成功 ll ~/.m2/your_groupId/your_artifactId/
之后, 在需要引入这个jar包的项目的
pom.xml
文件中,按照正常使用添加即可.<dependency> <groupId>your_groupId</groupId> <artifactId>your_artifactId</artifactId> <version>your_version</version> </dependency>
当mvn需要引入的时候,会自动从本地仓库去加载的.
完。
联系我
最后,欢迎关注我的个人公众号【 呼延十 】,会不定期更新很多后端工程师的学习笔记。
也欢迎直接公众号私信或者邮箱联系我,一定知无不言,言无不尽。
以上皆为个人所思所得,如有错误欢迎评论区指正。
欢迎转载,烦请署名并保留原文链接。
联系邮箱:huyanshi2580@gmail.com
更多学习笔记见个人博客或关注微信公众号 <呼延十 >------>呼延十
-
Maven构建分布式项目时子模块相互依赖打包技巧
2022-04-19 21:20:18直接在父pom文件引入如下插件将会导致Maven打的微服务Jar包不会将外部依赖导入其中,且其他模块在依赖本模块的时候可能出现找不到类的报错。即无法通过 java -jar xxx.jar 命令来启动服务。 <build> <...场景
最近在学习使用Jenkins自动化部署分布式微服务的时候,需要将微服务打成Jar包发送到服务器制作成镜像供Jenkins拉取运行,了解到
spring-boot-maven-plugin
插件可以完成Maven工程的打包任务。问题
直接在父pom文件引入如下插件将会导致Maven打的微服务Jar包不会将外部依赖导入其中,且其他模块在依赖本模块的时候可能出现找不到类的报错。即无法通过
java -jar xxx.jar
命令来启动服务。<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
原因
spring-boot-maven-plugin
打出来的Jar包默认是不可依赖的,需要进行一些额外的配置。
比如一个微服务工程中,往往会抽取出来一个common
公共模块,在common
公共模块中使用了spring-boot-maven-plugin
的默认配置build,其他依赖了common
模块的比如provider
或者order
在使用打包命令进行打包时就会出错,错误是在provider
或者order
中找不到common
中的类,原因就是此插件默认默认打包出来的Jar是不可依赖的。解决方案
在父工程pom文件和公共模块pom文件做一些修改
<!-- 父pom --> <build> <plugins> <!-- 资源文件拷贝插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- Java编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- maven打包插件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <!-- common pom --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!-- 这个属性为可执行jar包的名字后缀 --> <configuration> <classifier>exec</classifier> </configuration> </plugin> </plugins> </build> <!-- 其余子模块会继承父模块 -->
配置完后在进行
mvn clean package
或者mvn clean install
命令打包服务后,可用java -jar xxx.jar
正常启动。其他细节
在使用
spring-boot-maven-plugin
插件进行打包操作的时候强烈建议指明JDK版本,不然可能在使用了一些Java8新特性的时候可能受到类似不识别Lambda,请使用Resource8这样的错误。<properties> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
原文参考:
https://blog.csdn.net/DamonREN/article/details/85091900 -
解决maven多模块之间的相互依赖的方案
2020-12-19 07:42:41本来应该是开发包可以单边引用产品基础包的,由于开发不规范最终导致产品基础包和开发包存在了相互引用。针对当时我们的项目我考虑了两种方案:方案一、将产品基础包和开发包整合成一个源码包,再重构为Maven项目。...近期在做一个普通javaweb项目转转换成maven项目的任务。
原项目类型:javaWeb项目
两个源码包一个产品基础包,一个基于产品基础包的开发包,两个都是普通javaWeb项目。本来应该是开发包可以单边引用产品基础包的,由于开发不规范最终导致产品基础包和开发包存在了相互引用。
针对当时我们的项目我考虑了两种方案:
方案一、将产品基础包和开发包整合成一个源码包,再重构为Maven项目。
产品基础包编译成jar包,jsp页面整合到开发包中。后续产品基础包如果升级,重新编译成jar包更换现有jar即可,涉及用到的jsp需要项目组开发团队整合到正在使用的开发包中按正常版本发布流程提交源码即可。(这种方案需人工整合为一个源码包,相互间的引用自然就不存在了)
方案二、使用Maven聚合工程
使用Maven聚合工程,将产品基础包和开发包分别构建成两个Maven模块,然后将开发包目前最新版本打成jar包放入Maven仓库由产品基础包引用从而断掉产品基础包对开发包之前的引用,之后开发时务必做到开发包单边引用产品基础包,便不会再出现产品基础包对开发包的引用。剩下的就由开发包单边依赖产品基础包即可,从而可以避免循环依赖。后续产品基础包如果升级,按正常版本发布流程提交源码即可,无需人工整合,各自提交到各自的Maven模块,无影响。(这种方案后期要确保:开发人员严格遵守开发规范开发包单边引用产品基础包)
考虑到一下两种原因,最终采用了第二种方案:
1、整合两个源码包需要花费很长时间影响进度,且整合过程中也存在一定的风险。
2、后续产品基础包可能存在升级
3、还有其他模块功能待整合上线,需要考虑到可扩展性。
很多时候随着项目的膨胀,模块会越来越多,如果设计上 稍有不慎就会出现模块之间相互依赖的情况。这对于使用Maven的用户是比较痛苦的,因为出现模块之间相互依赖的话在构建的时候就会失败,Maven通常要先编译被依赖的模块,如果出现相互依赖Maven就不知道该怎么办了。下图描述了三个Maven模块相互依赖的场景:
图中模块C依赖于模块B,模块B依赖于模块A,而模块A又依赖于模块C,这样就出现了相互依赖情况,如果运行mvn compile会出现如下错误:
[INFO] Scanning for projects... [ERROR] The projects in the reactor contain a cyclic reference: Edge between 'Ve rtex{label='org.kuuyee.sample:module-C:1.0-SNAPSHOT'}' and 'Vertex{label='org.ku uyee.sample:module-B:1.0-SNAPSHOT'}' introduces to cycle in the graph org.kuuyee .sample:module-B:1.0-SNAPSHOT --> org.kuuyee.sample:module-A:1.0-SNAPSHOT --> or g.kuuyee.sample:module-C:1.0-SNAPSHOT --> org.kuuyee.sample:module-B:1.0-SNAPSHO T -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit ch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please rea d the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectCycleEx ception
1. 使用build-helper-maven-plugin解决相互依赖的问题我的解决办法就是先把相互依赖的模块整合在一起,相当于把这些模块合并成一个单独的模块统一编译,
这样就产生了一个合并模块D,我们把它当做一个辅助构建模块,然后让A、B、C模块都依赖于D模块,这样的话就可以成功编译A、B和C模块,
要想把A、B、C三个模块整合在一起编译,需要借助build-helper-maven-plugin插件,这个插件在Maven构建周期提供一些辅助功能,下面列出插件的提供的功能列表: build-helper:add-source:添加更多的构建源码目录 build-helper:add-test-source:添加更多的测试源码目录 build-helper:add-resource:添加更多的资源目录 build-helper:add-test-resource:添加更多的测试资源目录 build-helper:attach-artifact:在安装和部署周期附加artifacts build-helper:maven-version:添加一个指定当前Maven版本的属性 build-helper:parse-version:添加一个指定组件版本的属性 build-helper:released-version:决定当前项目的最终版本 build-helper:remove-project-artifact:从本地资源库中移除项目的artifacts build-helper:reserve-network-port:Reserve a list of random and unused network ports. 在这里我们要用到build-helper:add-source这个功能,将模块A、B、C的源码路径加进来。 我们再添加一个辅助模块D,在辅助模块D中使用build-helper-maven-plugin插件,然后让模块A、B、C都依赖于辅助模块D,模块D的POM模型如下: 例 1. 辅助模块D的POM模型
java代码:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
org.kuuyee.sample
sample-parent
1.0-SNAPSHOT
../../pom.xml
4.0.0
org.kuuyee.sample
module-D
1.0-SNAPSHOT
jar
module-D
http://maven.apache.org
UTF-8
../../module/module-A/src/main/java
../../module/module-B/src/main/java
../../module/module-C/src/main/java
org.codehaus.mojo
build-helper-maven-plugin
add-source
generate-sources
add-source
${module.a.src}
${module.b.src}
${module.c.src}
junit
junit
3.8.1
test
maven处理循环依赖
在多maven工程的项目里,如果工程间存在循环依赖,构建就会报错。本文介绍一下循环依赖要怎么处理
1、什么是循环依赖
如果工程A依赖工程B,工程B又依赖工程A,就会形成循环依赖。或者A依赖B,B依赖C,C依赖A,也是循环依赖
总的来说,在画出工程依赖图之后,如果发现工程间的依赖连线形成了一个有向循环图,则说明有循环依赖的现象
如果循环依赖发生在工程之间,则会影响构建,因为maven不知道应该先编译哪个工程。如果循环依赖发生在同一个工程的模块之间,虽然不影响编译,但是也是一种不好的实践,说明模块的设计有问题,应该避免
如果在模块内部,有几个类互相调用的话,我觉得可能是正常的。比如观察者模式里面,Observer和Observable就是互相依赖的
2、怎么解决循环依赖
目前知道有2个办法可以解决
第一个办法是用build-helper-maven-plugin插件来规避。比如A依赖B,B依赖C,C依赖A的情况。这个插件提供了一种规避措施,即临时地将工程A、B、C合并成一个中间工程,编译出临时的模块D。然后A、B、C再分别依赖临时模块D进行编译
这种方法可以解决无法构建的问题,但是只是一个规避措施,工程的依赖关系依然是混乱的
第二个办法是通过重构,从根本上消除循环依赖
3、如何重构
目前也知道2个重构的思路
第一个办法是平移,比如A和B互相依赖,那么可以将B依赖A的那部分代码,移动到工程B中,这样一来,B就不需要继续依赖A,只要A依赖B就可以了,从而消除循环依赖
第二个办法是下移,比如A和B互相依赖,同时它们都依赖C,那么可以将B和A相互依赖的那部分代码,移动到工程C里,这样一来,A和B相互之间都不依赖,只继续依赖C,也可以消除循环依赖
这两种重构方式都是可行的,具体采用哪种方式要根据实际情况来判断。不管采取哪种方式,都需要对代码进行修改,有时候并不是那么容易的
-
Maven工程模块间存在依赖时如何打包
2021-12-04 09:46:58通过执行mvn -pl 模块名 -am实现存在相互依赖的模块打包 -
创建 maven 多模块工程并解决子模块之间循环依赖问题
2021-06-17 16:36:28想在 eclipse 中创建一个拥有子模块的 maven 工程,因为在实际项目中用到的就是多模块工程,原谅我不知道这个工程是如何创建的,因为以前没有接触过,在这里记录下创建工程。 创建父 maven 工程: 打开 eclipse... -
MAVEN模块下子项目依赖出现unknown
2022-04-21 11:29:16maven循环依赖导致导包unknown的问题 -
maven多模块依赖
2021-11-11 11:41:05maven多模块之间的调用也是通过dependency的,和调用其他外部的依赖没区别。 1、如果没有父模块,是完全分离的多个模块,那么你只能先编译好底层的模块(比如你说的service模块为一个jar),然后再引入到controller... -
maven父子工程---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到
2019-10-22 17:13:26现研发经理要求将所有工程进行整合和规范化,所以抽出一个parent父工程,base基础模块(包含一些公用的实体类和工具类等),以及其他子模块(Module A、 Module B …)。Module A 以及Module B工程都需要依赖base工程。 ... -
Spring Cloud 多模块相互依赖打包问题解决
2021-01-12 00:54:53最近在学习spring cloud的时候,发现一个问题,就是在模块打包的时候,有一个依赖公共模块的部分,总是在打包的时候提示找不到公共模块的依赖,导致打包出错,下面是模块结构.WeChat Screenshot_20190610145243.png首先... -
maven项目模块之间的互相依赖问题
2020-04-14 17:44:24报错信息: Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [模块A,模块B,模块C] are excluded from annotation ...maven項目在分模块进行... -
maven打包以及module相互依赖问题
2022-05-01 16:19:171. maven打包 1.1 pom、jar、war pom:用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom。 <packaging>pom</packaging> 子module: // 1、jar方式 <... -
maven多项目打包报错---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到 package xxx does not exist
2020-12-10 18:09:56在对Module A进行打包时,出现问题:Module A中所依赖的子模块工程的util程序包不存在。即使能打包成功,用java -jar启动jar包也会报Class Not Found,依赖的子模块工程的类找不到。 错误如下: maven- -
IDEA多模块项目创建、不同模块间的maven相互依赖
2021-01-31 19:02:18就以快速构建Dubbo项目为例,需要创建具有三个模块的项目:生产者Producer、消费者Consumer以及公用的API接口依赖,并且需要将API依赖到生产者和消费者模块中。 1. 创建API接口 2. 创建生产者Provider模块 ... -
使用IDEA打包maven多模块相互依赖项目的正确方式
2021-10-26 23:33:40假设有一个父maven项目project,有三个子模块producer,consumer和common,其中producer依赖common,consumer也依赖于common,也就是producer,consumer的pom.xml文件中导入了common模块 第一种方式:使用idea... -
maven多模块之间的依赖关系
2018-05-11 15:12:42Guns项目改项目名和包名出错:1、JDK版本,maven默认使用1.52、模块之间的依赖关系,即&...,但是出错,clean和install不能解决3、修改了子模块对父模块引用<relativePath>出错... -
转:maven父子工程---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到
2019-04-26 13:34:37转载:... 场景: 因为之前用到的是,基于springboot框架所搭建的maven工程,而且都是相互独立的。现研发经理要求将所有工程进行整合和规范化,所以抽... -
maven多模块之间的互相依赖问题
2020-02-25 18:48:34处理模块之间的依赖关系(模块之间不能有循环依赖) Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [basic_core,basic_util,crm_common,crm_... -
Maven 多模块互相依赖打包问题
2021-08-05 11:42:10问题描述: 项目有多个模块,然后把一些公共的抽取出来(比如说实体类,Service等)单独为一个模块,然后再...很简单,对父工程进行 clean install,然后再对想要打包的子模块进行 clean package 即可! 例如: ... -
maven相互依赖打包异常问题
2020-12-22 13:27:14最近项目上使用的是idea ide的多模块话,需要模块之间的依赖,比如说系统管理模块依赖授权模块进行认证和授权,而认证授权模块需要依赖系统管理模块进行,然后,我就开始相互依赖,然后出现这样的问题: “Could ... -
maven子模块之间互相引入依赖,pom文件报错
2018-12-10 11:01:10先把你添加的其他依赖全部去掉,只剩下单纯的B-A,B-C的依赖,然后先 maven install父项目,把父子关系建立起来,父项目A中要包括duimaven插件的引用,例如: <build> <plugins> .... -
maven项目子模块相互引用无效
2018-09-17 15:36:36搭建maven项目的时候,dao模块引用beans模块的pojo,发现没有效果 dao模块是新建的模块,都没配置什么怎么会引用不到 叫大佬过来演示排错了一波 ...1.子模块依赖重复,因为之前创建了几次dao,IDEA父项目自动... -
Maven多模块依赖
2020-07-30 09:48:46使用Maven以后,可以更方便的进行构件化开发,一般项目中存在多模块,它们的关系,包括父子关系以及依赖关系,都可以通过pom文件的配置来实现的。 1. 父子关系 一个多模块项目通过一个父POM 引用一个或多个子... -
Maven聚合工程,模块父子依赖关系建立
2021-09-10 22:38:38新建一个springboot父工程,在父工程里面建maven子模块。 通过互相依赖可以让所有的子模块继续父工程的pom,子模块也可以互相引入 一、项目目录 最下面这个pom.xml是父工程的 二、父工程pom文件 <?xml ... -
maven父子结构相互依赖所遇到的坑
2021-02-11 21:16:33现研发经理要求将所有工程进行整合和规范化,所以抽出一个parent父工程,base基础模块(包含一些公用的实体类和工具类等),以及其他子模块(Module A、 Module B ...)。Module A 以及Module B工程都需要依赖base工程。... -
maven项目多模块相互调用方法
2021-06-10 14:29:28maven项目多模块相互调用方法问题背景解决方法方法1方法2 问题背景 maven项目包括多个子模块,类似下图: 现在【web】模块某个类想要调用【service】模块的某个类的某个方法。 如果直接通过@Autowired注入【service... -
maven-module多模块依赖项目在eclipse中搭建与开发
2017-02-14 22:32:38项目结构是父项目-子模块的结构进行组织。整个项目以pom型项目进行组织,其模块可以是jar项目,也可以是war项目,也可以pom项目。合理的使用maven-module项目,可以是项目结构分明,同时提高了代码的复用性。本文以... -
maven聚合项目子模块相互引用版本号报错
2020-04-13 11:54:12在我们搭建maven聚合项目时候,在父模块下,存在子模块A 和 B 。 现需要在 A 模块下使用 B 模块。因此,在pom文件中引入依赖。出现版本号报错。 解决 ...