首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

maven多模块和依赖冲突问题汇总记录

maven多模块和依赖冲突问题汇总记录目录前言:idea怎么创建maven多module的项目首先了解上面是多module?多Module管理项目的几种方式:创建一个多module项目(idea2019.3.3版本)创建一个父pom项目:创建子模块,引入到父pom里面子父模块的区别:父pom.xml文件内容:子pom.xml文件内容:子模块之间进行互相的依赖将上面的项目改造为spring-boot多模块项目:改造父pom文件:Spring boot maven plugin问题MAVEN依赖冲突问题:依赖的传递原则:maven的依赖引入策略最短路径原则:最先声明原则:如何解决依赖冲突的问题锁定版本法什么情况下会出现Jar包冲突问题如何查找和发现jar包冲突?1. 利用idea的maven视图工具2. Idea Maven Helper 插件3. maven命令工具:如何写一个干净依赖关系的POM文件dependency:analyze-only 命令mvn dependency:analyze-duplicate 命令

04

Eureca Server的Helloworld例子

做个普通的maven project,quickstart archetype。改成jdk.8。下面Camden.SR1是版本名,springcloud的版本名称很奇特,它是按照伦敦地铁站的名称命名的。 maven当中避免重复发明轮子的方法,一种是继承,一种是引用(参考我参考目录下的文章)。maven中配置引用 关系的方法是,<type>pom</type>和<scope>import</scope>,很简 单,这样就引入一个pom文件,这样<dependencies>里面的<groupId> org.springframework.cloud</groupId>和<artifactId>spring-cloud -starter-eureka-server</artifactId>,由于没有版本信息,就可以参考引入的pom文件的< dependencyManagement>里面的版本信息。就像maven继承方法似的,在父pom的< dependencyManagement>里,放入版本信息,在若干子pom里都省去版本信息了。子 pom只需到父pom的<dependencyManagement>里,找到相应的artifactId和groupId的版本信息即可。 引用和继承原理是类似的。我机器里面的引入文件就在: E:\m2\repository\org\springframework\cloud\spring-cloud-netflix-dependencies \1.3.1.RELEASE里面有个spring-cloud-netflix-dependencies-1.3.1.RELEASE.pom,里面 <dependencyManagement>里面有句话:

02

springCloud当中Eureca sever当中Camden到底是什么?

maven当中避免重复发明轮子的方法,一种是继承,一种是引用(参考我参考目录下的文章)。maven中配置引用关系的方法是,<type>pom</type>和<scope>import</scope>,很简单,这样就引入一个pom文件,这样<dependencies>里面的<groupId>org.springframework.cloud</groupId>和<artifactId>spring-cloud-starter-eureka-server</artifactId>,由于没有版本信息,就可以参考引入的pom文件的<dependencyManagement>里面的版本信息。就像maven继承方法似的,在父pom的<dependencyManagement>里,放入版本信息,在若干子pom里都省去版本信息了。子pom只需到父pom的<dependencyManagement>里,找到相应的artifactId和groupId的版本信息即可。引用和继承原理是类似的。我机器里面的引入文件就在: E:\m2\repository\org\springframework\cloud\spring-cloud-netflix-dependencies\1.3.1.RELEASE里面有个spring-cloud-netflix-dependencies-1.3.1.RELEASE.pom,里面<dependencyManagement>里面有句话: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> <version>${project.version}</version> </dependency>

02

maven中<type>pom</type>和<scope>import</scope>和< dependencyManagement>用法

maven当中避免重复发明轮子的方法,一种是继承,一种是引用(参考我参考目录下的文章)。maven中配置引 用关系的方法是,<type>pom</type>和<scope>import</scope>,很 简单,这样就引入一个pom文件,这样<dependencies>里面的<groupId> org.springframework.cloud</groupId>和<artifactId>spring-cloud -starter-eureka-server</artifactId>,由于没有版本信息,就可以参考引入的pom文件的< dependencyManagement>里面的版本信息。就像maven继承方法似的,在父pom的< dependencyManagement>里,放入版本信息,在若干子pom里都省去版本信息了。子 pom只需到父pom的<dependencyManagement>里,找到相应的artifactId和groupId的版本信息即可。 引用和继承原理是类似的。我机器里面的引入文件就在: E:\m2\repository\org\springframework\cloud\spring-cloud-netflix-dependencies \1.3.1.RELEASE里面有个spring-cloud-netflix-dependencies-1.3.1.RELEASE.pom,里面 <dependencyManagement>里面有句话: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> <version>${project.version}</version> </dependency>

00
领券