Maven--依赖管理和常用设置

本文介绍了Maven项目的依赖范围管理,如何在不同阶段使用依赖,如compile、test和provided。还讲解了全局变量的设置,如何使用版本号简化依赖声明,并展示了如何通过资源插件处理配置文件的复制。
摘要由CSDN通过智能技术生成

一、依赖管理

1.1 依赖范围

依赖范围: 使用scope表示依赖的范围

依赖范围表示: 这个依赖(jar和里面类)在项目构建的那个阶段起作用

依赖范围scope:

  • compile: 默认 参与构建项目的所有阶段

  • test: 测试,在测试阶段使用,比如执行mvn test会使用junit

  • provided: 提供者 项目在部署到服务器时,不需要提供这个依赖的jar 而是由服务器这个依赖的jar包

    明显的是sevlet和jsp依赖

二、常用设置

2.1.<properties></properties>里面的配置

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <!-- 项目构建使用的编码,避免中文乱码-->
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- 项目生成报告使用的编码,避免中文乱码-->
    <maven.compiler.source>1.8</maven.compiler.source>
      <!--源码编译jdk版本 -->
    <maven.compiler.target>1.8</maven.compiler.target>
        <!--代码运行jdk版本 -->
  </properties>

2.2 . 全局变量

在properties定义标签,这个标签就是一个变量,标签的文本就是变量的值

使用全局变量表示多个依赖使用的版本号

  • 在properties标签中定义标签,指定版本号:

     <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
         <!-- 自定义变量-->
        <spring.version>5.2.5.RELEASE</spring.version>
        <junit.version>4.11</junit.version>
      </properties>
    
  • 使用全局变量,语法 ${变量名.version}

     <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>${spring.version}</version>
        </dependency>
    

2.3. 资源插件

处理的配置文件的信息,maven默认处理配置文件

  • 项目编译后 maven会把src/main/resouces目录中的文件拷贝到target/classes目录下

  • maven只处理src/main/java目录下的 .java文件,把这些java文件编译为class,拷贝到target/classes目录中,不处理其他文件

  • 通过资源插件可以使 src/main/java目录下的 配置文件 拷贝到 target中, 在 pom中的bulid中添加:

    <build>
    <resources>
      <resource>
        <directory>src/main/java</directory> <!--所在目录-->
        <includes>
            <!-- 目录下的文件-->
          <include>**/*.xml</include>
            <include>**/*.properties</include>
        </includes>
          <!-- filtering选项为false不启用过滤器, *。propertry已经起到过滤作用了-->
          <filtering>false</filtering>
      </resource>
    </resources>
    </build>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值