maven相关

  1. maven: apache组织提供的一个顶级项目,由Java开发

    作用:

    • 管理项目构建生命周期
    • 管理项目中jar(核心功能)。自动帮程序员甄别和下载第三方库(jar)
    • 管理项目基础信息(文档管理、测试报告)
  2. 配置环境变量: 为了在任何路径下都可以使用Maven命令,所以需要配置

    • JAVA_HOME:安装jdk时已经配置,故而不需要配置
    • MAVEN-HOME:Maven安装地址
    • [path] %MAVEN-HOME%\bin
  3. 配置本地仓库:

    本地仓库默认位置:C:\Users\Administrator.m2\repository
    重新设置Maven本地仓库地址:Maven安装路径\conf\setting.xml中定位标签

    <localRepository>/path/to/local/repository</localRepository>
    
  4. 镜像:

    阿里云镜像设置:

    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
    
  5. 常见的maven命令:

    • mvn clean 删除当前工程中target
    • mvn compile 将当前工程中main文件下的所有java编译为class,输送到target文件中
    • mvn test 运行test文件下所有测试文件
    • mvn package 首先将test文件下所有的java测试类的方法调用执行进行测试,并生成[测试报告]。如果测试没有问题,将main文件下所有class文件打成(jar/war),然后输送到target
    • mvn install 与package命令执行基本一致,将[jar\war]推送到Maven的本地仓库
  6. Maven坐标(gav):

    为了方便Maven对jar的定位,在Maven世界中,每一个jar都要由一个独立坐标,相当于ip

  7. idea中使用maven:

    File->settings->Build,Execution,Deployment->Build Tools->Maven

    配置称自己的安装目录:
    Maven home path:maven的安装目录
    User settings file:maven安装目录下的conf/settings.xml文件
    Local repository:本机仓库位置

  8. maven打包时的问题:
    一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。
    有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,
    来把mapper.xml文件一起打包进jar或者war里了,否则,这些文件不会被打包的。(maven认为src/main/java只是java的源代码路径)

      <build>
          .......
            <resources>
              <resource>
                  <directory>src/main/resources</directory>
                  <excludes>
                      <exclude>**/*.properties</exclude>
                      <exclude>**/*.xml</exclude>
                   </excludes>
                  <filtering>false</filtering>
              </resource>
              <resource>
                  <directory>src/main/java</directory>
                  <includes>
                      <include>**/*.properties</include>
                      <include>**/*.xml</include>
                  </includes>
                  <filtering>false</filtering>
              </resource>
          </resources>
          ......
      </build>
    
posted @ 2024-05-06 16:03  Hanyta  阅读(23)  评论(0编辑  收藏  举报