maven总结2(包含怎么安装私服)

传递依赖的冲突解决          

     传递依赖:A(项目)依赖B(核心包),B依赖C(核心包下的子包)(1.1),B是A的直接依赖,C是A的传递依赖。

        

  1. Maven自己调节的原则

1.1.1第一声明者优先原则(谁先定义就用谁的传递依赖)

maven总结2(包含怎么安装私服)

 

maven总结2(包含怎么安装私服)

 

1.1.2路径近者优先原则(先选择直接依赖再选择传递依赖)

maven总结2(包含怎么安装私服) 

     1.2排除依赖

maven总结2(包含怎么安装私服)

​
<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-spring-plugin</artifactId>

<version>2.3.24</version>

<exclusions>

<!-- 将struts2-spring-plugin中的spring-beans排除掉 -->

<exclusion>

<artifactId>spring-beans</artifactId>

<groupId>org.springframework</groupId>

</exclusion>

</exclusions>

</dependency>


​

 

maven总结2(包含怎么安装私服)

1.3 版本锁定

maven总结2(包含怎么安装私服)

私服安装

  1. 下载安装包(https://pan.baidu.com/s/1wbcesr0KEnbCTqzgkXDoDw)

maven总结2(包含怎么安装私服)

 2.解压到本地磁盘

maven总结2(包含怎么安装私服)

3.使用管理员权限打开dos,在dos下执行命令安装私服

maven总结2(包含怎么安装私服)

4.启动服务

maven总结2(包含怎么安装私服)

5.找到私服的访问url:

http://localhost:8081/nexus/#welcome

登陆:admin/admin123

私服仓库类型

maven总结2(包含怎么安装私服)

 

Hosted:宿主仓库

存放本公司开发的jar包(正式版本(Releases)、测试版本(snapshot)、第三方(3rd party):存在版权问题--Oracle)

Proxy:代理仓库

代理中央仓库、Apache下测试版本的jar包

Group:组仓库

将来连接组仓库。包含Hosted:宿主仓库,Proxy:代理仓库

​​​​​​​上传jar包到私服上

  1. 在maven目录下conf/settings.xml.认证:配置用户名密码
    <server>
          <id>releases</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
    	<server>
          <id>snapshots</id>
          <username>admin</username>
          <password>admin123</password>
        </server>
    maven总结2(包含怎么安装私服)
  2. 在将要上传的项目的pom.xml中配置jar包上传路径url
<distributionManagement>
  	<repository>
  		<id>releases</id>
	<url>http://localhost:8081/nexus/content/repositories/releases/</url>
  	</repository> 
  	<snapshotRepository>
  		<id>snapshots</id>
	<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
  	</snapshotRepository> 
  </distributionManagement>

maven总结2(包含怎么安装私服) 

3.在eclipse中执行命令发布项目到私服(上传)deploy

​​​​​​​下载jar包到本地仓库(应用)

  1. 在maven目录下conf/settings.xml。配置模板
profile>   
	<!--profile的id-->
   <id>dev</id>   
    <repositories>   
      <repository>  
	<!--仓库id,repositories可以配置多个仓库,保证id不重复-->
        <id>nexus</id>   
		<!--仓库地址,即nexus仓库组的地址-->
        <url>http://localhost:8081/nexus/content/groups/public/</url>   
		<!--是否下载releases构件-->
        <releases>   
          <enabled>true</enabled>   
        </releases>   
		<!--是否下载snapshots构件-->
        <snapshots>   
          <enabled>true</enabled>   
        </snapshots>   
      </repository>   
    </repositories>  
	 <pluginRepositories>  
    	<!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
        <pluginRepository>  
        	<!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
            <id>public</id>  
            <name>Public Repositories</name>  
            <url>http://localhost:8081/nexus/content/groups/public/</url>  
        </pluginRepository>  
    </pluginRepositories>  
  </profile>  

maven总结2(包含怎么安装私服) 

2.**模板

<activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>