zoukankan      html  css  js  c++  java
  • maven的安装与使用

    一、Maven的安装

    下载maven

    1.maven官网的下载页面:http://maven.apache.org/download.cgi

    配置maven

    1.将下载的maven放到本地目录,路径中不要有中文和空格(建议路径不要太长)

    2.配置环境变量

    3.配置maven本地仓库

    • 先在D:atguiguapache-maven-3.6.0(自己maven安装目录)下创建文件夹mavenRepository
    • 下载jar包到刚刚创建的本地仓库,百度云链接:https://pan.baidu.com/s/1n_6v_2ji4PG93XK-l2LA1Q 密码:w9hm
    • 打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml ),在标签中添加 mirror 子节点
    <!-- 阿里云仓库 -->
        <mirror>
          <id>aliyunmaven</id>
          <mirrorOf>central</mirrorOf>
          <name>阿里云公共仓库</name>
          <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    

    4.配置settings.xml

    • 修改本地仓库的路径,在settings.xml,中添加以下标签
      <!--  修改本地仓库的路径-->
      <localRepository>D:atguiguapache-maven-3.6.0mavenRepository</localRepository>
    
    • 修改默认jdk版本,在标签中添加一下代码
        <!--    修改默认jdk版本-->
        <profile>
          <id>JDK-1.8</id>
          <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.8</jdk>
          </activation>
          <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
          </properties>
        </profile>
    

    记得保存、记得保存、记得保存

    第一个Maven项目

    • 全局配置idea(2020)

    更新本地仓库

    • pom.xml详解
        <parent>
            <!--被继承的父项目的构件标识符 -->
            <artifactId />
            <!--被继承的父项目的全球唯一标识符 -->
            <groupId />
            <!--被继承的父项目的版本 -->
            <version />
            <!-- 父项目的pom.xml文件的相对路径。相对路径允许你选择一个不同的路径。默认值是../pom.xml。Maven首先在构建当前项目的地方寻找父项 
                目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。 -->
            <relativePath />
        </parent>
    
        <!-- 模型版本 -->
        <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-SNAPSHOT</version>
    
        <!--项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型 -->
        <packaging>jar</packaging>
    
        <!--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。 -->
        <dependencies>
            <dependency>
                <!--依赖的group ID -->
                <groupId>org.apache.maven</groupId>
                <!--依赖的artifact ID -->
                <artifactId>maven-artifact</artifactId>
                <!--依赖的版本号。 在Maven 2里, 也可以配置成版本号的范围。 -->
                <version>3.8.1</version>
                <!-- 依赖类型,默认类型是jar。它通常表示依赖的文件的扩展名,但也有例外。一个类型可以被映射成另外一个扩展名或分类器。类型经常和使用的打包方式对应, 
                    尽管这也有例外。一些类型的例子:jar,war,ejb-client和test-jar。如果设置extensions为 true,就可以在 plugin里定义新的类型。所以前面的类型的例子不完整。 -->
                <type>jar</type>
                <!-- 依赖的分类器。分类器可以区分属于同一个POM,但不同构建方式的构件。分类器名被附加到文件名的版本号后面。例如,如果你想要构建两个单独的构件成 
                    JAR,一个使用Java 1.4编译器,另一个使用Java 6编译器,你就可以使用分类器来生成两个单独的JAR构件。 -->
                <classifier></classifier>
                <!--依赖范围。在项目发布过程中,帮助决定哪些构件被包括进来。欲知详情请参考依赖机制。 - compile :默认范围,用于编译 - provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath 
                    - runtime: 在执行时需要使用 - test: 用于test任务时使用 - system: 需要外在提供相应的元素。通过systemPath来取得 
                    - systemPath: 仅用于范围为system。提供相应的路径 - optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用 -->
                <scope>test</scope>
                <!--仅供system范围使用。注意,不鼓励使用这个元素,并且在新的版本中该元素可能被覆盖掉。该元素为依赖规定了文件系统上的路径。需要绝对路径而不是相对路径。推荐使用属性匹配绝对路径,例如${java.home}。 -->
                <systemPath></systemPath>
                <!--当计算传递依赖时, 从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。此元素主要用于解决版本冲突问题 -->
                <exclusions>
                    <exclusion>
                        <artifactId>spring-core</artifactId>
                        <groupId>org.springframework</groupId>
                    </exclusion>
                </exclusions>
                <!--可选依赖,如果你在项目B中把C依赖声明为可选,你就需要在依赖于B的项目(例如项目A)中显式的引用对C的依赖。可选依赖阻断依赖的传递性。 -->
                <optional>true</optional>
            </dependency>
        </dependencies>
    
    课堂无作为,Code写春秋
  • 相关阅读:
    jvM垃圾回收
    Java快速失败和安全失败
    方法覆盖和方法重载
    leetcode-Reverse Words in a String
    自己玩玩
    leetcode-Reverse Vowels of a String
    leetcode-Reverse String
    leetcode-Multiply Strings
    java多线程-cas及atomic
    @media响应式布局
  • 原文地址:https://www.cnblogs.com/hea2t/p/13522969.html
Copyright © 2011-2022 走看看