maven 依赖传递 依赖排除 继承和聚合 常用命令

目录

Maven使用

1 网上依赖jar网址 http://www.mvnrepository.com/ 

2 依赖传递

3 依赖冲突的解决

4 依赖排除

6 继承和聚合

7 maven私服

8 把第三方jar包放入本地仓库或私服

9 常用命令

10 手打不容易,感觉好就赞一毛钱地


Maven使用

1 网上依赖jar网址 http://www.mvnrepository.com/ 

2 依赖传递

项目依赖----->spring-webmv.jar依赖----->spring-beans.jar等等  所以spring-beans.jar 我们就拥有了

3 依赖冲突的解决

spring-webmvc依赖spirng-beans-4.2.4,spring-context依赖spring-beans-5.0.2,但是发现spirng-beans-4.2.4加入到工程中

  1. ü1、第一声明者优先原则(谁在上面用谁的依赖)

在pom文件定义依赖,先声明的依赖为准。

测试:

如果将上边spring-webmvc和spring-context顺序颠倒,系统将导入spring-beans-5.0.2。

分析:

由于spring-webmvc在前边以spring-webmvc依赖的spring-beans-5.0.2为准,所以最终spring-beans-5.0.2添加到了工程中。

  1. ü2、路径近者优先原则(以自己的为准)

例如:还是上述情况,spring-contex和spring-webmvc都会传递过来 spirng-beans,那如果直接把spring-beans的依赖直接写到pom文件中,那么项目就不会再使用其他依赖传递来的spring-beans,因为自己直接在pom中定义spring-beans要比其他依赖传递过来的路径要近。

在本工程中的pom中加入spirng-beans-5.0.2的依赖,根据路径近者优先原则,系统将导入

spirng-beans-5.0.2:

4 依赖排除

 <exclusions>

            <exclusion>

             <groupId>com.cc.maven</groupId>

              <artifactId>project-c</artifactId>

            </exclusion>

    </exclusions>

5 版本控制

 

  <properties>

    <mybatis.version>3.4.5</mybatis.version>

  </properties>

 

<dependencyManagement>

    <dependencies>

      <!-- Mybatis -->

      <dependency>

        <groupId>org.mybatis</groupId>

        <artifactId>mybatis</artifactId>

        <version>${mybatis.version}</version>

      </dependency>

</dependencyManagement>

锁定版本并没有添加依赖,要想添加依赖还要用  <dependencies> 添加依赖,主要用于控制子模块的版本

 

mvn dependency:list

mvn dependency:tree可以帮助我们详细了解项目中所有的依赖的具体详细,在此基础上,还有

mvn dependency:analyze工具可以帮助分析当前项目的依赖

6 继承和聚合

n何为继承?

继承是为了消除重复,如果将dao、service、web分开创建独立的工程则每个工程的pom.xml文件中的内容存在重复,比如:设置编译版本、锁定spring的版本的等,可以将这些重复的配置提取出来在父工程的pom.xml中定义。

n何为聚合?

项目开发通常是分组分模块开发,每个模块开发完成要运行整个工程需要将每个模块聚合在一起运行,比如:dao、service、web三个工程最终会打一个独立的war运行。

7 maven私服

载nexus

Nexus 是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构件搜索功能等。

下载Nexus, 下载地址:http://www.sonatype.org/nexus/archived/

解压nexus-2.12.0-01-bundle.zip,本教程将它解压在F盘,进入bin目录:

 

8 把第三方jar包放入本地仓库或私服

1.导入本地库

随便找一个jar包测试,可以先CMD进入到jar包所在位置,运行

mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile= fastjson-1.1.37.jar -Dpackaging=jar

2 导入私服....

9 常用命令

  1. mvn compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。
  2. mvn test 执行 src/test/java 下单元测试类,下图为测试结果,运行 1 个测试用例,全部成功。
  3. clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。
  4. package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war 包。
  5. install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。

10 手打不容易,感觉好就赞一毛钱地

发布了38 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/sdrfengmi/article/details/88124922
今日推荐