`
schy_hqh
  • 浏览: 555982 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Maven的本地仓库、中心仓库、私服(NEW)

 
阅读更多
 本地仓库
设置本地仓库到指定目录,而不使用Maven默认的配置(默认放在C:/user/m2.目录下)
打开Maven的解压目录E:\soft\apache-maven-3.1.0\conf,修改settings.xml
配置localRepository即可完成本地仓库的设置:
<localRepository>E:/repository/maven/repos</localRepository>
 
==================================================================
 
中心仓库
即,告诉Maven从外网的哪个地方下载jar包
Maven的安装目录中,在lib目录下,maven-model-builder-3.1.0.jar中,有一个默认的pom.xml文件
其中就配置了Maven默认连接的中心仓库
修改中心仓库
直接在POM.xml中加入repository的配置,指定一个新的url即可
注意:这里仍然使用<id>central</id>,目的在于覆盖Maven中的配置的id为central的repository!
	<repositories>
		<repository>
			<id>central</id>
			<name>My Central Repository</name>
			<url>http://repo.maven.apache.org/maven2</url>
			<layout>default</layout>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>
 
==================================================================
 
 私服
配置在局域网环境中,为局域网中所有开发人员提供jar包的统一管理
本地仓库(本机)--->私服(局域网)--->中心仓库(外部网络)
 
私服的安装
1.下载NEXUS,http://www.sonatype.org
2.解压
3.配置环境变量:
新建环境变量:NEXUS_HOME = E:\soft\nexus-2.5.1-01
加入到path中:%NEXUS_HOME%\bin;
4.打开CMD命令行
C:\Users\Administrator>nexus install      安装服务
C:\Users\Administrator>nexus start         启动服务
C:\Users\Administrator>nexus uninstall  卸载服务
5.访问私服
使用默认账户:admin 密码:admin123
NEXUS内部使用Jetty作为服务器
 http://localhost:8081/nexus   【界面用extjs开发的】
 
仓库的分类
查看Repository
 
host仓库--->内部项目的发布仓库
Snapshots   发布内部snapshots版本的仓库
Releases     发布内部release版本的仓库
3rd party      发布第3方jar包的仓库,如oracle数据库驱动,open-189.jar
 
proxy仓库--->从远程中心仓库查找jar包的仓库
Apache Snapshots    查找Apache项目的快照版本的仓库
Central   中心仓库http://repo1.maven.org/maven2/
Codehaus Snapshots    查找Codehaus 的快照版本的仓库
 
group仓库--->把仓库按组划分,以组为单位进行管理
 
virtual仓库  
 
私服的配置 / Repository的配置
在parent模块的pom.xml中加入私服的配置,让Maven从私服下载jar包,而不直接去远程仓库下载。
默认情况下,Maven下载jar包将直接连接到外网http://repo1.maven.org/maven2/去下载;
安装私服之后,让Maven下载jar包先从私服查找,如果没有,再从外网下载并保存在私服上
在POM在加入下面的配置,其中url为NEXUS私服的Public Repository对外的地址
以后,Maven下载构建(jar包或插件)都将从这里开始下载
<project>
  
  ...
  
  <!-- 配置私服地址 -->
  <repositories>
    <repository>
      <id>nexus</id>
      <url>http://localhost:8081/nexus/content/groups/public/</url>
      <snapshots><enabled>true</enabled></snapshots>
      <releases><enabled>true</enabled></releases>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>nexus</id>
      <url>http://localhost:8081/nexus/content/groups/public/</url>
      <snapshots><enabled>true</enabled></snapshots>
      <releases><enabled>true</enabled></releases>
    </pluginRepository>
  </pluginRepositories>

  ...

<project>
 
通过settings.xml来配置私服
由于所有的Maven项目都会用settings.xml中的配置进行解析,如果将Repository配置到这个文件中,那么对所有的Maven项目都将生效。
此时,Maven项目中的POM文件就不需要再配置私服地址了!
注意:修改settings.xml文件时,看IDE中关联的是哪个settings文件。
如C:\user\.m2目录下可能存在,Maven的解压目录下也存在,具体修改哪个根据实际情况而定。如,Eclipse下,查看Maven的User Settings选项即能看到关联。
我的IDE关联的是Maven\conf目录下的settings.xml:
E:\soft\apache-maven-3.1.0\conf\settings.xml
首先,通过<profile/>添加Repository和pluginRepository
<settings>

  ...

  <profiles>
     <profile>
      <id>profile-nexus</id>

	  <repositories>
		<repository>
		  <id>nexus</id>
		  <url>http://localhost:8081/nexus/content/groups/public/</url>
		  <snapshots><enabled>true</enabled></snapshots>
		  <releases><enabled>true</enabled></releases>
		</repository>
	  </repositories>
	  <pluginRepositories>
		<pluginRepository>
		  <id>nexus</id>
		  <url>http://localhost:8081/nexus/content/groups/public/</url>
		  <snapshots><enabled>true</enabled></snapshots>
		  <releases><enabled>true</enabled></releases>
		</pluginRepository>
	  </pluginRepositories>
    </profile>
  </profiles>

  ...

</settings>
 
然后,使用<activeProfiles>对上面的配置进行激活(通过配置的id标识进行激活)
 
  <activeProfiles>
    <activeProfile>profile-nexus</activeProfile>
  </activeProfiles>
 
 
现在,本地机器上创建Maven项目,都会使用settings中有关仓库的配置了
本地仓库:
<localRepository>E:/repository/maven/repos</localRepository>
本地Maven下载的依赖包和插件都将放到E:/repository/maven/repos目录中
私服:
本地所有Maven项目,下载构建都统一从http://localhost:8081/nexus/content/groups/public/ 下载!
【私服上不存在某个构建时,再从远程下载】
远程仓库:
如果远程仓库连接不上,则通过nexus修改central的地址即可!
当前使用Maven的默认配置:http://repo1.maven.org/maven2/
 
 
 
 
 
  • 大小: 89.9 KB
分享到:
评论

相关推荐

    详解Maven仓库之本地仓库、远程仓库

    Maven仓库分为本地仓库和远程仓库两大类,本地仓库是开发者个人使用的,远程仓库则包含了中央仓库、私服以及其他公共库。 本地仓库是位于开发者的计算机上的一个目录,用来存储从远程仓库或者项目中下载的jar文件和...

    使用GitHub搭建Maven私库

    - [如何在GitHub上搭建私有Maven仓库](https://blog.csdn.net/hwangfantasy/article/details/69389766) #### 维护记录 | 编号 | 日期 | 维护内容 | 维护人员 | 版本 | |------|------------|----------|----------...

    IDEA11 Maven3快速入门及应用

    Maven的本地仓库用于存储从中央仓库下载的依赖库副本,以便于后续构建时能够更快地访问。默认情况下,本地仓库位于用户的隐藏目录下,例如在Windows 7/Vista系统中通常是`C:\Users\&lt;用户名&gt;\.m2`,而在XP系统中则是`...

    Maven安装部署.docx

    - **使用私服**: 在 `settings.xml` 中配置私有仓库地址,Maven 在找不到本地或中央仓库的依赖时,会转向私有仓库。 总结来说,Maven 作为项目管理工具,简化了构建流程,规范了项目结构,使得依赖管理和构建过程...

    Maven私服 Nexus2.14.2 配置了阿里云仓库

    Nexus是Sonatype公司开发的一款Maven仓库管理器,它作为一个中央存储库,可以集中管理依赖项,包括第三方库和项目自身构建的工件。在本场景中,我们讨论的是Nexus 2.14.2版本,它已经被配置了阿里云仓库,这对于在...

    aspose-words-19.2-jdk16 本地仓库地址

    aspose-words-19.2-jdk16 本地仓库地址,若有问题请及时联系我。 获取license方法如下 public static boolean getLicense() throws Exception { boolean result = false; try { InputStream is = ...

    maven3.0.4学习教程

    Maven支持三种类型的仓库:本地仓库、中央仓库和远程仓库。 - **本地仓库**:位于用户本地计算机上的仓库,用于缓存下载的依赖。 - **中央仓库**:由Sonatype维护,包含了大量的开源库。 - **远程仓库**:由组织或...

    maven配置指南

    对于大型团队,通常会使用私有Nexus或Artifactory等仓库服务器,通过配置`settings.xml`的镜像和仓库,将Maven项目发布到私服,以便团队成员共享。 总结来说,Maven通过规范化的项目构建方式,极大地提高了开发效率...

    Maven依赖管理项目构建工具.pdf

    Maven私服简介 私服是内部使用的Maven仓库,用于存储企业内部的库,减少对外部公共仓库的依赖。 2. Nexus下载安装 下载Nexus,按照官方文档配置和启动服务。 3. 初始设置 配置Nexus的用户、角色、仓库等基本信息...

    从零开始学maven,maven学习笔记

    在Maven的配置文件settings.xml中,可以设置本地仓库、私服仓库和中央仓库的路径。其中,本地仓库是项目默认的存储库,用于缓存已下载的jar包;私服仓库通常用于局域网内部,便于团队共享依赖;中央仓库是互联网上的...

    maven搭建、集成,创建聚合项目问题及错误解决

    Maven中央仓库是默认的依赖获取源,但在企业环境中,为了提高依赖下载速度和管理私有库,常常会搭建Maven私服,如Nexus或Artifactory。配置私服需要修改`settings.xml`文件,指定镜像和仓库地址,这样,项目中的依赖...

    Maven 构建使用说明文档(含私服Nexus搭建

    - **创建 Maven 项目**:在 Eclipse 中通过 File -&gt; New -&gt; Maven Project 来创建一个新的 Maven 项目。 - **依赖管理**:通过 POM 文件管理项目的依赖关系。 - **构建与部署**:利用 Maven 命令如 `mvn clean ...

    maven安装与配置

    这个文件包含了关于私服仓库的配置信息,有助于项目中的依赖管理。 #### 七、Eclipse配置 1. **选择Eclipse版本**:如果使用的Eclipse版本没有内置Maven插件,建议下载集成了Maven插件的Eclipse版本。这通常能够...

    项目管理Maven实战

    Nexus是一款开源的仓库管理工具,可以帮助团队建立私有的Maven仓库。通过Nexus,团队可以集中管理项目依赖,并加速构建过程。 **4.2 使用Maven进行测试** Maven提供了丰富的测试功能,可以自动执行单元测试、集成...

    JEECG 3.6-Maven版本手把手入门-eclipse.pdf

    6. **Maven仓库初始化**: 在命令行执行mvn help:system,Maven会从远程仓库下载依赖到新配置的本地仓库位置。 #### MyEclipse或Eclipse环境搭建 1. **插件安装**: MyEclipse 8至MyEclipse 2014版本自带Maven插件,...

    maven3.0.4详解

    - 默认情况下,Maven会在用户的主目录下的`.m2/repository`目录创建本地仓库。 - 可以通过修改`settings.xml`文件来指定自定义的本地仓库路径。 - 本地仓库用于缓存从远程仓库下载的依赖项,避免重复下载。 3. *...

Global site tag (gtag.js) - Google Analytics