• Apache Maven下载与安装


    Apache Maven下载与安装

    - 可以帮助我们构建项目、管理项目中的 jar 包
    - Maven 仓库:存放构建依赖的位置
      - 本地仓库:默认是 ~/.m2/repository
      - 远程仓库:中央仓库、镜像仓库、私服仓库
    - 示例:下载、安装、配置、常用命令

    注意:

    1. JDK版本,Maven 3.3.+ 要求 JDK 版本 ≥ JDK 1.7;(当然,Maven 3.3.+ 仍然允许使用工具链针对Jdk1.3和其他JDK版本进行构建)

    2. 对于内存条大小,没有最低要求

    3. 对于硬盘大小,至少500M吧;(Maven 自身占很小内存,大概 10M 左右,但是由于要存放 Maven repository 即:本地仓库,所以需预留空间,这个空间根据你本地项目多少决定,至少500M吧)

    4. 操作系统,没有最低要求;(因为它的启动脚本可以是 shell 脚本和 windows 批处理文件,也就是说只要你windows系统正常启动,你就可以启动Maven了)

     

    1、下载(本人是3.6)

    官网下载地址:http://maven.apache.org/download.cgi

    Maven 3.6 压缩包下载: https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zi

     

    2、安装

    2.1 目录

    Maven目录分析:
    - bin文件夹:含有mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令。
    - boot文件夹:含有plexus-classworlds-2.5.2.jar,maven就是用它来加载自己的类库的。相对于默认的java类加载器。
    - conf文件夹:含有settings.xml配置文件,直接修改该文件,就能在集群上全局的定制maven的行为。
    - lib文件夹:含有maven运行时所需要的java类库,maven本身是分模块开发的。
    - LICENSE:记录了maven使用的软件许可Apache License Version 2.0。
    - NOTICE:记录了maven包含的第三方软件。
    - README:包含了maven的简要介绍,包括安装需求及如何安装的简要指令。

    2.2 环境变量的配置

    可以全局访问(注意:确认电脑上已经安装了JDK

    操作步骤:此电脑(右键)--->属性--->高级系统设置--->环境变量--->新建环境变量MAVEN_HOME---> 编辑Path,增加“%MAVEN_HOME%\bin”

     

    验证:

    C:\Users\Administrator>mvn -version
    Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
    Maven home: D:\software\apache-maven-3.6.3\bin\..
    Java version: 1.8.0_241, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jre1.8.0_241
    Default locale: zh_CN, platform encoding: GBK
    OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
    
    C:\Users\Administrator>

    附加(个人需求):

    可以 新建环境变量MAVEN_OPTS

    通常需要设置MAVEN_OPTS的值为-Xms128m -Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运行的需要,比如在项目较大时,使用Maven生成项目站点需要占用大量的内存,如果没有该配置,则很容易得到java.lang.OutOfMemeoryError。

     

    3、配置

    修改配置文件:apache-maven-3.6.3\conf\settings.xml

     

    3.1 本地仓库的目录

    根据个人需求修改本地仓库的目录路径

    默认在系统的用户目录下的m2/repository中,该目录是本地仓库的目录。

    找到<localRepository>标签,注释掉,添加
    <localRepository>E:\Program Files\java\repository</localRepository>     //存放maven下载的各种依赖,本地需存在该路径(尽量不要存在c盘,后期文件会很大)

    3.2 修改为阿里云下载

    找到<mirrors>...</mirrors>,添加
    <mirrors>
            <!-- 阿里云仓库 -->
            <mirror>
                <id>alimaven</id>
                <mirrorOf>central</mirrorOf>
                <name>aliyun maven</name>
                <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
            </mirror>
    
            <!-- 中央仓库1 -->
            <mirror>
                <id>repo1</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo1.maven.org/maven2/</url>
            </mirror>
    
            <!-- 中央仓库2 -->
            <mirror>
                <id>repo2</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo2.maven.org/maven2/</url>
            </mirror>
      </mirrors>

    阿里云的仓库,图示:

     

    4、命令

    maven常用命令:
    
    mvn -v:查看版本
    
    mvn clean:删除target
    
    mvn compile:编译
    
    mvn test:测试
    
    mvn package:打包
    
    mvn install:上传jar包到本地仓库中

    5、测试常见问题

    问题:报错:[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!

    解决办法:

     <project>
       ...
       <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       </properties>
       ...
     </project>

    问题: 创建新类,需要使用其他的类,需要做导入(没有导入到 仓库中)

     

    解决办法:

    找不到maven01的jar包,因此我们需要将包含HelloWorld的jar包发布到本地仓库中,使用mvn install命令完成。

    同时在maven02的pom.xml文件</dependencies></dependencies>中添加maven01包的依赖<dependency></dependency>,写入maven01包的坐标<groupId></groupId><artifactId></artifactId><version></version>,再次编译便可成功。

  • 相关阅读:
    Django项目引入NPM和gulp管理前端资源
    Django实现统一包装接口返回值数据格式
    即学即会 Serverless | 如何解决 Serverless 应用开发部署的难题?
    足不出户,搞定交付——独家交付秘籍(第二回)
    如何使用阿里云容器服务保障容器的内存资源质量
    恭喜我的同事丁宇入选年度 IT 领军人物
    基于 KubeVela 的机器学习实践
    基于 KubeVela 的机器学习实践
    OpenKruise v1.1:功能增强与上游对齐,大规模场景性能优化
    云原生时代如何用 Prometheus 实现性能压测可观测Metrics 篇
  • 原文地址:https://www.cnblogs.com/mmdz/p/15587777.html
Copyright © 2020-2023  润新知