手记

#Maven 的使用(更新)

常用标签

<localRepository>

  • 本地仓库的详细地址

 <localRepository>D:\buildtools\apache-maven-3.5.4-bin\apache-maven-3.5.4\repos-el</localRepository>

<mirrors>

  • 远程仓库的详细地址

<mirrors>
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
  </mirrors>

MAVEN清理编译和部署

maven clean

清理工程目录下的target文件夹,以及在仓库中部署的项目jar包

maven compile

  • 1.对工程下的目录所有的java文件进行.class编译,并将文件放入target文件夹下,包括放在resource下的资源文件.(包含测试java以及测试资源文件)

  • 2.target目录结构

    • classes: 及自己写的class文件包含资源文件

    • generated-sources: 由mapstruct映射生成的文件夹.

    • test-classes: 与classes相同(测试文件)

maven install

  • 1.包含了maven compile 操作,然后部署到maven的本地仓库中.

    • 目的方便其他项目引用该项目下的实体文件(场景SpringCloud中)

MAVEN中各标签的作用

参考:

https://blog.csdn.net/cd18333612683/article/details/66478332

<type>

pom:

保证了之后引入的jar包版本一致
例子:

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Edgware.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

<scope>

  • 1.complie: 默认值
    指该jar包参与项目的编译,测试,是一个比较强的依赖.打包的时候通常需要包含进去

  • 2.test:
    指该jar包只参与代码的测试,编译和执行.

  • 3.runtime:
    指该jar包不需要进行编译,只参与运行和测试,只跳过了编译.例如JDBC的驱动

  • 4.provided:
    指该jar不进行打包,处理,编译运行测试都参与.例如tomcat等环境提供jar.

  • 5.system:
    指该jar包与provided值意思差不多.但是该jar则是从本地库中提供而非网络中.

scope依赖

  • A依赖B,B依赖C.

  • 当C是test或者provided时,C直接被丢弃.

  • 否则,A依赖于C,B依赖于C



作者:TRANSAM伽马
链接:https://www.jianshu.com/p/417af2219a7e


0人推荐
随时随地看视频
慕课网APP