-
使用maven聚合安装多个maven工程到本地仓库报错的解决方法:child module pom.xml does not exist
2018-06-03 19:29:26转自: https://stackoverflow.com/questions/26021141/maven-child-module-does-not-exist1)在maven项目Parent中的 pom.xml 中 使用聚合安装多个 maven工程到本地仓库,pom配置如下:<project xmlns="...转自: https://stackoverflow.com/questions/26021141/maven-child-module-does-not-exist
1)在maven项目Parent中的 pom.xml 中 使用聚合安装多个 maven工程到本地仓库,pom配置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" 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"> <modelVersion>4.0.0</modelVersion> <groupId>com.atguigu.maven</groupId> <artifactId>Parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>../Hello</module> <module>../HelloFriend</module> <module>../OutFriends</module> <module>../MakeFriends</module> </modules>
右键该pom.xml 执行 mvn install , 报错信息如下:
[INFO] Scanning for projects... [ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] Child module E:\bench-cluster\spring_in_action_eclipse\Parent\..\Hello of E:\bench-cluster\spring_in_action_eclipse\Parent\pom.xml does not exist @ [ERROR] Child module E:\bench-cluster\spring_in_action_eclipse\Parent\..\HelloFriend of E:\bench-cluster\spring_in_action_eclipse\Parent\pom.xml does not exist @
解决方法是:使用如下聚合配置
最后 pom.xml 右键 -> maven install 安装成功。 bingo。<!-- 通过modules 声明聚合安装的工程名称 , 然后统一install,且工程间的放置顺序可以随意 --> <profiles> <profile> <modules> <module>../Hello</module> <module>../HelloFriend</module> <module>../OutFriends</module> <module>../MakeFriends</module> </modules> </profile> </profiles>
-
Maven的三个仓库以及配置
2019-01-16 10:31:38中央仓库就是,maven提供的仓库,里面放着很多的jar包,但是这个仓库在外国(因为maven 是外国的) 二、镜像仓库 由于中央仓库在外国,我们访问时速度很慢,还会出现访问不到的问题,所有我们国家有个和中央仓库...一、中央仓库
中央仓库就是,maven提供的仓库,里面放着很多的jar包,但是这个仓库在外国(因为maven 是外国的)
二、镜像仓库
由于中央仓库在外国,我们访问时速度很慢,还会出现访问不到的问题,所有我们国家有个和中央仓库一模一样的仓库在阿里云。以便于为我国用户使用。
配置镜像仓库:
在即下载的maven软甲默认是从中央仓库下载东西我们该如何设置它在镜像仓库下载呢?
<1>找到maven 的安装路径
<2>找到config文件
<3>setting.xml文件
<4>填入一下代码<mirror> <id>aliyun</id> <mirrorOf>*</mirrorOf> <name>ali maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
三、本地 仓里
作用:每次下载的东西都会下载到本地仓库中,每次需要找jar时先到本地仓库去找,没有的话再去镜像仓库去下。
配置:同上面一样在setting.xml文件中添加一下代码
自己创建一个本地仓库文件夹,让后将本地仓库文件的路径换成自己的就可以;<localRepository>D:\software\maven\apache-maven-3.6.0\MavenRepo</localRepository>
-
Maven配置多个远程仓库的实现方法
2020-09-23 09:57:25起因 由于公司原因,很多jar包都是内部开源,外部非开源情况,所以很多jar包都在aliyun的...只有第一个仓库无法访问的时候,才会使用第二个。注意是无法访问的时候,如果能访问,但是仓库中没有你要找的包,他不会去访起因
由于公司原因,很多jar包都是内部开源,外部非开源情况,所以很多jar包都在aliyun的远程仓库中找不到。但是又因为回家后,自己写的很多demo都是用的一些公司仓库里没有的jar。所以就想着配置多个Maven仓库镜像地址,从而解决反复切换仓库一问题。
<mrrior></mrrior>配置多个镜像问题
这里必须要提醒!mrrior标签配置多个,生效的只有第一个!只有第一个仓库无法访问的时候,才会使用第二个。注意是无法访问的时候,如果能访问,但是仓库中没有你要找的包,他不会去访问第二个仓库!
<profile></profile>配置多镜像
这里推荐使用profile属性进行多镜像配置。
<profiles> <profile> <!-- id必须唯一 --> <id>aliyunRepository</id> <repositories> <repository> <!-- id必须唯一 --> <id>myRepository1_1</id> <!-- 仓库的url地址 --> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> </profile> <profile> <!-- id必须唯一 --> <id>companyRepository</id> <repositories> <repository> <!-- id必须唯一 --> <id>myRepository2_1</id> <!-- 仓库的url地址 --> <url>你们另一个仓库的地址</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> </profile> </profiles> <activeProfiles> <!-- 激活myRepository2 --> <activeProfile>companyRepository</activeProfile> <!-- 激活myRepository1 --> <activeProfile>aliyunRepository</activeProfile> </activeProfiles>
-
多个 本地仓库_使用Github搭建Maven私有远程仓库
2021-01-04 08:42:55也许你不满足于“借”轮子,还想自己造轮子,这个时候你就可以把自己的代码放入公共的仓库,供大家使用。但使用公共的依赖仓库很麻烦,幸好github为我们提供了一种简便的大家自己的公共依赖仓库的方式。自从今年...目录
- 本地deploy
- 上传到github
- 项目配置依赖
- 参考链接
为了避免重复造轮子,我们可以在项目中引入依赖,使用现有的成熟解决方案。
也许你不满足于“借”轮子,还想自己造轮子,这个时候你就可以把自己的代码放入公共的仓库,供大家使用。
但使用公共的依赖仓库很麻烦,幸好github为我们提供了一种简便的大家自己的公共依赖仓库的方式。
自从今年Github支持免费的个人私有仓库以后,github越来越成为自己日常学习、写作和开发必不可少的工具了。
之前因为github的私有仓库收费,不得已使用了gitee和bitbucket等工具。事实证明,这个世界,只需要一个Github。
下面就一步步带你搭建一下自己的Maven公共仓库。
本地deploy
在自己本地创建一个目录,来放自己deploy的文件,然后在自己的项目目录下执行如下Maven命令:
mvn deploy -DaltDeploymentRepository=ijiangtao-net-repo::default::file:/1tool/develop/maven/repository/ijiangtao-net-repo/repository
然后你会看到自己放本地deploy的内容目录下面已经生成好了依赖所需的所有文件。
这里需要特别说明的是这3个文件: - maven-metadata.xml - maven-metadata.xml.md5 - maven-metadata.xml.sha1
其中md5, sha1是校验文件,它们用来保证这个metadata文件的完整性。
Maven在编绎项目时,会先尝试请求
maven-metadata.xml
,如果没有找到,则会尝试请求到jar文件,在下载jar文件时也会尝试下载jar的md5, sha1文件。下面就是我本地deploy生成的文件:
maven-metadata.xml maven-metadata.xml.md5 maven-metadata.xml.sha1 tao-util-core-1.1.01.01-20190420.080520-1.jar tao-util-core-1.1.01.01-20190420.080520-1.jar.md5 tao-util-core-1.1.01.01-20190420.080520-1.jar.sha1 tao-util-core-1.1.01.01-20190420.080520-1.pom tao-util-core-1.1.01.01-20190420.080520-1.pom.md5 tao-util-core-1.1.01.01-20190420.080520-1.pom.sha1
这个maven-metadata.xml文件很重要,如果没有这个文件来指明最新的jar版本,那么即使远程仓库里的jar更新了版本,本地maven编绎时用上
-U
参数,也不会拉取到最新的jar。所以并不能简单地把jar包放到github上就完事了,一定要先在本地deploy,生成maven-metadata.xml文件,并上传到github上。
上传到github
这一步比较简单,只要用过github的都没什么难度。
首先在GitHub上创建仓库,然后把本地deploy的文件所属的目录设置为git仓库,最后push到远程即可。
项目配置依赖
除了要把你的依赖坐标放到dependencies标签中之外,还需要在pom.xml中指定你的repositories的url。
<dependency> <groupId>net.ijiangtao.tech.util</groupId> <artifactId>tao-util-core</artifactId> <version>1.1.01.01-SNAPSHOT</version> </dependency> <repositories> <repository> <!-- A unique identifier for a repository. --> <id>ijiangtao-net-repo</id> <!--Human readable name of the repository. --> <name>ijiangtao.net repository</name> <url>https://raw.githubusercontent.com/ijiangtao/ijiangtao-net-repo/master/repository</url> <releases> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </snapshots> </repository> </repositories>
这样你就可以下载远程仓库的依赖了。
当你执行
mvn install -U
的时候,会看到下面的Downloading
提示:Downloading from alimaven: http://maven.aliyun.com/nexus/content/groups/public/net/ijiangtao/tech/util/tao-util/1.1.01.01-SNAPSHOT/maven-metadata.xml Downloading from xxxx: https://github.com/xxxx/xxxx-repo/raw/master/releases/net/ijiangtao/tech/util/tao-util/1.1.01.01-SNAPSHOT/maven-metadata.xml Downloading from yyyy: http://yyyy.yyyy.cn/nexus/content/groups/public/net/ijiangtao/tech/util/tao-util/1.1.01.01-SNAPSHOT/maven-metadata.xml Downloading from sonatype: https://oss.sonatype.org/content/repositories/snapshots/net/ijiangtao/tech/util/tao-util/1.1.01.01-SNAPSHOT/maven-metadata.xml Downloading from nexus-aliyun: http://maven.aliyun.com/nexus/content/groups/public/net/ijiangtao/tech/util/tao-util/1.1.01.01-SNAPSHOT/maven-metadata.xml Downloading from ijiangtao-net-repo: https://raw.githubusercontent.com/ijiangtao/ijiangtao-net-repo/master/repository/net/ijiangtao/tech/util/tao-util/1.1.01.01-SNAPSHOT/maven-metadata.xml
这是Maven在你配置的多个仓库中依次下载依赖,因此如果配置的仓库太多的话,下载速度会受到影响。
上文中提到的仓库地址和示例代码,可以访问如下两个仓库地址:
- https://github.com/ijiangtao/ijiangtao-net-repo
- https://github.com/ispringboot/demos/tree/master/demo-maven-repo
参考链接
- Maven依赖版本号引发的血案
- Maven依赖管理:控制依赖的传递
- 处理Maven本地仓库.lastUpdated文件
- Maven Dependency Version:依赖版本自动升级
- Maven Central Repository
- Maven Metadata
-
大忙人系列_maven依赖多个本地仓库
2020-05-25 11:18:05所以有些依赖的话是不能直接下载下来使用,需要在外网下载下来,然后通过U盘导入内网的repository,但是有时候可能由于内网的开发工具的BUG/其他原因,你导入的maven仓库中命名有这个依赖但是maven依旧会报找不到这... -
多个 本地仓库_Maven(二):仓库
2021-01-09 14:21:43日常开发中使用最多的就是Maven的中央仓库,本文将会对其介绍并说明如何配置中央仓库的镜像以提高访问速度中央仓库Maven工具中配置了一个默认的远程仓库——central中央仓库。在Maven安装目录的lib文件夹下找到 ... -
maven仓库mysql多版本_使用Nexus2搭建企业maven仓库(三)
2021-02-07 02:56:34如果我所在的项目没有使用maven,我...这个包含很多含义,比如下载jar包,通过仓库如果我所在的项目没有使用maven,我应该作出一个选择,要不换一个项目,要不促使这个项目使用起maven。有人会问,为什么要用maven... -
maven配置多仓库的方法
2020-12-05 14:28:55按照最简单的方式,新增一个仓库地址,随时切换。 无法拉取包的困惑?你可能发现,你的maven无法拉取 SNAPSHOT 包,然而包明明就在那里! 一个完整的配置样例参考 另附一个idea maven配置的方法 刚接触maven就是在... -
maven仓库
2019-08-31 13:51:20Maven仓库分类 本地仓库 远程仓库 当Maven根据坐标寻找构件的时候,会先查看本地仓库,本地仓库...对于Maven来说,本地仓库只有一个,但是可以配置多个远程仓库。 远程仓库的分类 中央仓库 Maven核心自带的远... -
maven配置多仓库地址
2020-01-19 17:15:25由于接了东南亚的项目,基础代码还是一套,所以代码需要发版时需要发布到两个私服仓库的地址 思路 利用maven的profile标签 一个setting.xml配置两套环境 如果是IDEA的话 可以手动选择使用哪个profile 也可以在... -
配置Maven多仓库
2016-10-21 21:43:28在没有私服的情况下使用Maven,很大情况下依赖网速,为了节省我们宝贵的时间,最好配置多个仓库。 jdk-1.8 1.8 repo1 org.maven.repo1 default https://repo1.maven.org/ ... -
Maven配置多仓库无效?来看看这篇文章
2020-08-04 11:34:03在项目中使用Maven管理jar包依赖,往往会出现以下状况: ...当只配置一个仓库时,操作比较简单,直接在Maven的settings.xml文件中进行全局配置即可,以阿里云的镜像为例: <mirrors> <mirror> <id> -
Maven入门指南:仓库
2019-09-29 21:38:38Maven 使用一个称之为仓库的目录,根据构件的坐标统一存储这些构件的唯一副本,在项目中通过依赖声明,可以方便的引用构件。 2 . 仓库的布局 构件都有唯一的坐标,Maven 根据坐标管理构件的存储。... -
maven添加mirror_Maven 多仓库和镜像配置
2020-12-19 10:52:05这下闲下来从 GitHub 上拉了一个项目来,发现使用单一的 mirror 仓库无法找到一些 jboss 的依赖,所以想起来研究一下 Maven 多仓库和镜像相关的配置。都知道在 $HOME/.m2/settings.xml 中配置了 Maven 在本地的全局... -
intellij idea使用maven本地仓库及修改本地仓库路径
2017-07-13 17:51:49什么maven本地仓库,默认是用户目录下的.m2/repository这个文件。现在在网上搜,idea怎么使用maven?很多都还说要下载maven插件的,其实idea是自带maven插件的,所以不用我们再下载什么?怎么把依赖包下载到我们的... -
idea中Maven使用自定义仓库问题:Unable to import maven project: See logs for details
2019-11-07 17:09:23先是修改maven的仓库位置和映像(网上很多这个教程): 打开Maven,找到settings: 打开,修改以下位置: 下面进入正题 在pom.xml里面添加依赖时报错:Unable to import maven project: See logs for details ... -
maven教程二之仓库
2015-07-08 10:31:43Maven 使用一个称之为仓库的目录,根据构件的坐标统一存储这些构件的唯一副本,在项目中通过依赖声明,可以方便的引用构件。 2 . 仓库的布局 构件都有唯一的坐标,Maven 根据坐标管理构件的存储。如以下对 spri -
Maven(3)仓库
2015-11-06 15:53:181 . 仓库简介 没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的...Maven 使用一个称之为仓库的目录,根据构件的坐标统一存储这些构件的唯一副本,在项目中通过依赖声明,可以方 -
maven仓库中心mirrors配置多个下载中心
2018-08-03 10:29:44在日常生活中,我们使用maven下载需要...所以此处可以在maven的设置中心添加多个下载仓库,当中央仓库没有的话,继续到下一个仓库去下载。这样丰富了中央仓库的下载地址。 本人使用的本地的maven(版本为3.1.1)。具... -
Maven 镜像与本地仓库配置
2020-03-03 18:19:25由于Maven的远程仓库服务器在国外,很多时候我们的访问速度会比较慢,比如创建项目的时候,会若本地仓库没有对应的以来,则回去远程仓库下载,这个时候就变得相当慢。学过Vue的都知道,国内一般推荐使用cnpm来代替... -
pom文件配置多个远程仓库地址_Maven远程仓库的各种配置
2020-12-24 12:37:36我们往往不会使用默认的中央仓库,默认的中央仓库访问的速度比较慢,访问的人或许很多,有时候也无法满足我们项目的需求,可能项目需要的某些构件中央仓库中是没有的,而在其他远程仓库中有,如JBoss Maven仓库。... -
maven依赖本地导入仓库
2020-03-10 20:38:02我们一个同事做了一个工具,我们都可以使用。这个时候你有一种选择,就是让同事将代码Ctrl+C 和Ctrl+V 然后发给你,你在放到你的项目中去,但是这样是很不方便的。 但是我们还有一种方法,就是让同事将工具打一个jar... -
Maven仓库使用向导
2018-01-18 13:56:00深度整合基于Kubernetes的容器管理、多类型CI/CD应用构建与交付、多数据中心的资源管理等技术,提供云原生应用全生命周期解决方案,构建应用与基础设施、应用之间及基础设施之间的互联互通生态体系。12...