最近在看《maven实战》这本书,想着将现在做的项目使用模块化方式,其中有几个依赖是使用公司的自建仓库,为了方便多个公司的合作,并尽量减少其他人的操作,就想将公司的的仓库放着项目中pom,这样其他人不用配置自己本地的setting.xml文件,就可以引用我公司的仓库。
使用过程中发现一个问题,就是已经按照书中的方式进行了配置公司仓库信息,但是仍然不能在我司仓库下载,然后经过各方搜索,发现了是mirror(镜像)和repository(仓库)的配置问题。
由于之前发现maven中央仓库,在国内访问比较慢,于是使用了开源中国的maven仓库(请参考这里的配置帮助),其中有一段关于mirror的配置,如下:
<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. --> <mirror> <id>nexus-osc</id> <mirrorOf>nexus,osc</mirrorOf> <name>Nexus osc</name> <url>http://maven.oschina.net/content/groups/public/</url> </mirror> </mirrors>正是由于这段配置导致在项目中配置repository不能正常访问。在查看mirror和repository的区别后(参考这里或这里),发现了原因:<mirrorOf>*</mirrorOf> 表示所有的仓库都要使用此镜像,而我公司的仓库不在这个镜像下,导致获取失败。
现修改如下为<mirrorOf>nexus,osc</mirrorOf>后,项目中配置repository可以正常访问了。
PS:主要是记录个人的感受,写的有点繁琐。
相关推荐
在开发环境中,如果设置了自动拉取远程仓库的依赖,当项目被发布到远程仓库后,其他依赖该项目的工程可以通过Maven自动获取最新的代码。 8. **安全性**: 部署到远程仓库通常需要认证,因此需要在POM.xml或...
在Maven的构建管理中,远程仓库扮演着至关重要的角色,因为它们允许开发者访问除了默认中央仓库之外的自定义或组织内部的构件。本文将深入探讨如何配置Maven的远程仓库,以便在项目中顺利获取所需的依赖。 首先,...
这个文件包含了Maven的全局设置,如本地仓库位置、镜像配置以及远程仓库信息等。增加自定义repository就是在`settings.xml`中进行操作。 打开`settings.xml`文件,我们需要在`<profiles>`标签内添加一个新的profile...
- 将插件发布到远程Maven仓库,如Sonatype Nexus或Artifactory。 - 在其他Maven项目中通过`<build><plugins>`或`<reporting><plugins>`标签引入自定义插件。 举例来说,`sogoucloud-maven-plugin`可能是一个为...
这个仓库保存了所有项目依赖的JAR文件,避免了每次构建时都从远程仓库下载。 2. Maven依赖管理: 在Spring Boot项目中,我们通过在`pom.xml`文件中声明依赖来管理项目所需的库。Maven会自动解析这些依赖,并从远程...
- **打包与部署**:将项目打包成JAR,并发布到本地或远程Maven仓库,以便在其他项目中使用。 3. **使用自定义插件**: 在项目的`pom.xml`中引入自定义插件,通过`<build><plugins>`标签进行配置,设置执行目标和...
5. **自定义仓库**:在`settings.xml`中可以配置额外的远程仓库地址,对于一些私有或者公司内部的库,可以上传到自定义仓库。 6. **清理与更新**:`mvn clean`命令可以清除目标目录的编译产物,`mvn dependency:...
远程仓库是 Maven 在运行时所需要的任何构件都是从本地仓库获取的。如果本地仓库没有,它就会尝试从远程仓库中下载构件到本地仓库,然后使用本地仓库中的构件。 MyEclipse 配置 Maven MyEclipse 是一个流行的 Java...
- **中央仓库(Central Repository)**: Maven的中央仓库是最常用的远程仓库,包含了大量的开源组件。 - **私有仓库(Private Repository)**: 企业通常会设置私有仓库,用于存储内部项目和不允许公开的第三方依赖。...
Maven通过插件系统提供了丰富的功能,而“Maven自定义plugin”则是指开发者根据自身需求定制的Maven插件。这篇文章将深入探讨如何创建和使用自定义的Maven插件。 首先,理解Maven插件的工作原理至关重要。Maven插件...
3. **运行Maven命令**: 使用命令行工具,如`mvn clean compile`执行清理和编译任务,`mvn package`打包项目,`mvn install`将项目安装到本地仓库,`mvn deploy`部署到远程仓库。 **四、最佳实践** 1. **保持POM...
总结来说,Eclipse中的Maven项目创建和管理涉及了Maven插件的安装、库路径的配置、项目创建过程以及解决可能出现的结构问题。理解这些步骤将帮助开发者更高效地使用Maven进行项目构建,同时利用Eclipse的强大功能...
1. **本地仓库**:默认位于用户主目录下的`.m2\repository`,Maven首次构建项目时,会从远程仓库下载所需的jar包到本地仓库,以后同一项目构建时就直接从本地仓库读取,提高了构建速度。 2. **远程仓库**:包括中央...
8. Maven远程仓库配置:除了中央仓库外,Maven还支持配置远程仓库。远程仓库可以是第三方提供的Maven仓库,也可以是公司内部的仓库。在pom.xml文件中可以指定远程仓库地址,以便Maven下载依赖。 9. 构建结果:在pom...
Maven依赖于中央仓库和其他远程仓库来获取所需的库。中央仓库是Maven默认使用的,包含了大量的开源项目组件。开发者也可以自定义私有仓库,存储公司内部的组件。 **五、Maven生命周期** Maven具有清晰的生命周期...
默认的本地仓库位于用户主目录下的`.m2`目录,远程仓库则包括中央仓库和其他自定义的私有仓库。 3. 依赖管理:Maven通过POM中的`<dependencies>`元素管理项目依赖。它会自动解决依赖关系,从仓库中下载所需库。 二...
- `remoteRepository`: 远程仓库URL,用于下载模板的依赖。 4. 使用archetype-catalog.xml 开发者可以通过`mvn archetype:generate`命令,指定`archetype-catalog.xml`文件的位置,来生成基于模板的新项目。Maven...
如果本地没有,它会尝试从远程仓库下载,通常默认的远程仓库是Maven Central Repository,这是一个公共的、全球共享的仓库,包含了大量的开源Java组件。 Apache Maven 3.2.5对之前的版本做了多项改进。其中,它优化...