Maven的作用有哪些

发布时间:2021-09-13 10:17:13 作者:chen
来源:亿速云 阅读:246

这篇文章主要讲解了“Maven的作用有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Maven的作用有哪些”吧!

maven的作用一:依赖管理:maven对项目中的jar包的管理过程。传统项目我们直接把jar包放置在项目中,maven工厂真正的jar包放置在仓库中,项目中只会放置jar包的坐标。

仓库的种类:本地仓库,远程仓库,中介仓库

仓库之间的关系:当我们启动一个maven工厂的时候,maven工程会通过pom文件中的jar包的坐标去本地仓库找对应的jar包。默认情况下,如果本地没有对应的jar包,maven工程会自动去中央仓库下载jar包到本地仓库。在公司中,如果本地没有对应的jar包,会先从私服下载jar包(私服需要公司自己创建),如果私服没有jar包,可以从中央仓库下载,也可以从本地上传。

maven的作用二:一键构建:maven自身集成了tomcat插件,可以对项目进行编译,测试,打包,安装,发布等操作,分布对应maven的常用命令

maven常用命令:clean,compile,test,package,install,deploy

maven三套生命周期:清理生命周期,默认生命周期,站点生命周期。

清理生命周期:Clean Lifecycle 在进行真正的构建之前进行一些清理工作

默认生命周期:Default Lifecycle 构建的核心部分,编辑,测试,打包,部署等等

站点生命周期:Site Lifecycle 生成项目报告,站点,发布站点

注意:三套生命周期是相互独立的。

maven解决jar包冲突

方式一:第一声明优先原则:哪个jar包等坐标在靠上的位置,这个jar包就是先声明的。先声明的jar包坐标下的依赖包,可以优先进入项目中。

方式二:直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包。传递依赖:项目中没有直接导入jar包,可以通过项目直接依赖的jar包传递到项目中去。路径近者优先原则:直接依赖路径比传递依赖路径近,那么最终项目进入的jar包会是路径近的直接依赖jar包

方式三:直接排除:可以通过<exclusions>标签消除传递依赖jar包

工程的拆分和聚合:

拆分思想:maven把一个完整的项目,分成不同的独立模块,这些模块都有各自独立的坐标,哪个地方需要其中的模块,就直接引用该模块的坐标即可。

集合思想:把拆分零散的模块聚合到一起编写一个完整的项目。

作用;解决代码可重用和便于维护

工程和模块的区别:

1、工程不等于完整的项目,模块也不等于完整的项目,一个完整的项目看的是代码,代码完整,就可以说这是一个完整的项目和此项目是工程和模块没有关系。

2、工程天生只能使用自己内部的资源,工程天生是独立的,后天可以和其他工程或模块建立关联关系。模块天生不是独立的,模块天生是属于父工程的,模块一旦创建,所有父工程的资源都可以使用

3、父子工程,子模块天生集成父工程,可以使用父工程所有的资源,子模块之间天生是没有任何关系的。

4、父子工程不用建立关系,继承关系是先天的,不需要手动建立的,平级关系的引用叫依赖,依赖是需要后天建立的。

父子工程启动方式:

第一种:父工程直接run

第二种:先install父工程,在启动下面的模块

第三种:添加本地tomcat启动,添加工程启动

私服:

1、下载安装私服安装包 Nexus  https://www.sonatype.com/oss-thank-you-win64.zip

2、配置Nexus,在etc目录下的nexus-default.properties配置Nexus端口、IP、上下文路径

3、启动服务

hosted:宿主仓库(存放本公司开发的jar包(正式版本 测试版本 第三方:存在版权问题的-Oracle))
proxy:代理仓库(代理中央仓库,apache下测试版本的jar包)
group:组仓库(将来连接组仓库。包含Hosted:宿主仓库,proxy:代理仓库)
virtual:虚拟仓库(被废弃了的仓库)

上传Jar包到私服

1、在maven目录下conf/setting.xml配置用户名和密码

<servers>
 <server>
      <id>releases</id> <!--宿主仓库-->
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
          <id>snapshots</id><!--宿主仓库-->
          <username>admin</username>
          <password>admin123</password>
    </server>

    </servers>

2、在pom.xml中配置jar包的上传路径

<distributionManagement>
  <repository>
      <id>releases</id>
      <url>http://localhost:8081/nexus/repository/maven-releases</url><!--私服对应url-->
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <url>http://localhost:8081/nexus/repository/maven-snapshots</url><!--私服对应url-->
    </snapshotRepository>
  </distributionManagement>

从私服下载Jar包

1、在maven目录下conf/setting.xml配置模版

 <profile>
            <!--profile的id-->
      <id>dev</id>
      <repositories>
        <repository>
            <!--仓库id,repositories可以配置多个仓库,保证id不重复-->
          <id>nexus</id>
          <!--仓库地址,即nexus仓库组的地址-->
          <url>http://localhost:8081/nexus/repository/maven-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/repository/maven-public</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>

2、激活模版,在conf/setting.xml

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

感谢各位的阅读,以上就是“Maven的作用有哪些”的内容了,经过本文的学习后,相信大家对Maven的作用有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. maven的作用是什么
  2. pom.xml文件在Maven中的作用有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

maven

上一篇:如何使用python格式化经纬度

下一篇:什么是Integer.parseInt()源码

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》