• Maven——maven依赖管理以及常用设置


    1. maven的依赖管理

    这里主要介绍的就是项目依赖的适用范围

    • 依赖的范围:compile、test、provided,默认采用 compile

    例如

     <dependencies>
        <dependency>
          <groupId>junitgroupId>
          <artifactId>junitartifactId>
          <version>4.11version>
          <scope>testscope>
        dependency>
      dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 上述代表的范围是test,表示的就是junit仅仅在测试程序阶段使用,对主程序的编译运行时无效的,同时也不参与项目的打包【将项目打包为war或者jar时,-》使用package命令不会打包对应的jar包】和部署

    依赖使用的范围:

    compiletestprovided
    对主程序是否有效
    对测试程序是否有效
    是否参与打包
    是否参与部署

    2. Maven 常用设置

    2.1 全局变量

    • 在 Maven 的 pom.xml 文件中,用于定义全局变量,POM 中通${property_name}的形式引用变量的值。

    定义全局变量:

    <properties>
     <spring.version>4.3.10.RELEASEspring.version>
    properties>
    
    • 1
    • 2
    • 3

    引用全局变量:

    <dependency>
    <groupId>org.springframeworkgroupId>
    <artifactId>spring-contextartifactId>
    <version>${spring.version}version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Maven 系统采用的变量:

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

    2.2 指定资源位置

        src/main/java 和 src/test/java 这两个目录中的所有*.java 文件会分别在 comile 和 test-comiple 阶段被编译,编译结果分别放到了 target/classes 和 targe/test-classes 目录中,但是这两个目录中的其他文件都会被忽略掉,如果需要把 src 目录下的文件包放到 target/classes 目录,作为输出的 jar 一部分。需要指定资源文件位置。以下内容放到
    标签中。

    <build>
    <resources>
     <resource>
     <directory>src/main/javadirectory>
     <includes>
     <include>**/*.propertiesinclude>
     <include>**/*.xmlinclude>
     includes>
     <!—filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了 -->
     <filtering>falsefiltering>
     resource>
     resources>
    build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    【AGC】集成华为AGC崩溃服务实用教程
    SLAM静态编译中动态链接库问题
    AI人体行为分析:玩手机/打电话/摔倒/攀爬/扭打检测及TSINGSEE场景解决方案
    C++--简单实现定长内存池
    网络相关知识
    【20221204】【每日一题】监控二叉树
    GB/T 20281-2020实施两周年,美创数据库防火墙的标准实践
    亚马逊一分钟1000+的僵尸链接获取只需三步
    go-zero 是如何实现令牌桶限流的?
    Spring面向切面编程(AOP)
  • 原文地址:https://blog.csdn.net/weixin_44606952/article/details/126474017