ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

maven必知必会

2019-07-30 14:55:46  阅读:234  来源: 互联网

标签:依赖 必知 kaptcha jar maven 仓库 本地 必会


目录

了解maven

maven的作用

  1. maven采取约定大于配置的原则,规范了一套标准的javaweb项目结构
  2. maven提供了完备的包管理功能,不用到处找jar包了
  3. maven提供了一套完整的项目构建声明周期,让开发人员一键式一站式测试打包发布等.

maven仓库

maven仓库分为

  • 本地(local)

  • 中央(central)

  • 远程(remote) :定制的仓库,存放一些没在中央仓库中的包,比如公司自己的框架包

本地配置

本地maven的配置非常灵活,可以创建多个用于不同开发环境的配置文件.配置文件中指定不同的本地仓库地址和中央仓库地址 maven仓库配置

添加远程仓库

<project ...>
    <repositories>
        <repository>
            <id>java.net</id>
            <url>https://maven.java.net/content/repositories/public/</url>
        </repository>
    </repositories>
</project>

依赖搜索顺序

  1. 搜索本地仓库
  2. 搜索中央仓库
  3. 搜索远程仓库
  4. 三种仓库中都没有所需包,抛出错误

定制包到本地仓库

一些中央仓库和远程仓库没有的包,想使用的话要手动导入本地仓库,比如想使用kaptcha包(用于生成验证码图片的工具)

  1. 下载 “kaptcha-2.3”,得到jar包

  2. 执行maven命令,加入本地仓库

    mvn install:install-file -Dfile=/Users/hans/Downloads/kaptcha-2.3.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3 
    -Dpackaging=jar
  3. 加入成功,声明坐标

<dependency>
      <groupId>com.google.code</groupId>
      <artifactId>kaptcha</artifactId>
      <version>2.3</version>
</dependency>

pom文件

<project xmlns = "http://maven.apache.org/POM/4.0.0"
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
    <!-- 模型版本 不重要 -->
    <modelVersion>4.0.0</modelVersion>
    <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
    <groupId>com.companyname.project-group</groupId>
    <!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
    <artifactId>project</artifactId>
    <!-- 版本号 -->
    <version>1.0</version>
    <!-- 打包方式 jar/war/pom-->
    <packaging>war</packaging>
</project>

POM标签大全

依赖管理原则

  1. 如果两个依赖版本在依赖树里的深度是一样的时候,第一个被声明的依赖将会被使用。
  2. 依赖具有传递性
  3. 子类声明的依赖版本覆盖父类声明的依赖版本

构建声明周期

插件

标签:依赖,必知,kaptcha,jar,maven,仓库,本地,必会
来源: https://www.cnblogs.com/hans-kl/p/11269922.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有