Maven的使用

简介: Maven的使用

什么是Maven

我们在写项目时会用到很多的jar包, 而Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。

使用Maven管理项目的好处主要有两点,其一是使用Maven管理的Java 项目都有着相同的项目结构。 有一个pom.xml 用于维护当前项目都用了哪些jar包

Maven的配置

下载好maven后,我们需要在settings.xml加入阿里的镜像,这样我们下载jar包的速度就会大大提高,

<mirror>  
            <id>nexus-aliyun</id>  
            <mirrorOf>central</mirrorOf>  
            <name>Nexus aliyun</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
 </mirror>

配置全局jdk版本,这样创建maven项目就会自动使用该版本,和镜像配置类似

<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的坐标

<groupId>...</groupId>  // 所需jar包的项目名
<artifactId>...</artifactId> // 所需jar包的模块名
<version>...</version>  // jar包的版本号
<packaging>jar</packaging>  //打包方式

传递依赖 与 排除依赖

1.传递依赖:如果我们的项目引用了一个Jar包,而该Jar包又引用了其他Jar包,那么在默认情况下项目编译时,Maven会把直接引用和简洁引用的Jar包都下载到本地。

2.排除依赖:如果我们只想下载直接引用的Jar包,那么需要在pom.xml中把排除的依赖写上即可

<exclusions>
  <exclusion>
    <groupId>...</groupId>
     <artifactId>...</artifactId>
      <packaging>...</packaging>
      <version>...</version>
   </exclusion>
<exclusions>

scope依赖范围

  • compile :默认范围,用于编译
  • provided:此依赖范围,对于编译和测试classpath有效,而对运行时无效
  • runtime: 在执行时需要使用 ,jdbc驱动实现
  • test: 它只用于编译测试代码和运行测试代码的时候才需要
  • system: 系统依赖范围,使用system范围的依赖时必须通过systemPath元素显示地指定依赖文件的路径,不依赖Maven仓库解析
目录
相关文章
|
8月前
|
数据可视化 Java 项目管理
|
5月前
|
Java Maven
maven 使用小技巧
maven 使用小技巧
19 0
|
6月前
|
Java 测试技术 Maven
maven总结
maven总结
20 0
|
8月前
|
Java 测试技术 Maven
|
9月前
|
Java Maven 容器
关于Maven,你真的了解它吗?(下)
关于Maven,你真的了解它吗?(下)
|
10月前
|
Java 项目管理 Maven
|
10月前
|
Java Apache 项目管理
maven
Maven 是一个流行的 Java 项目管理工具,它可以帮助开发人员管理项目依赖、构建项目、运行测试、打包和部署项目等。Maven 的主要功能包括:
168 1
|
11月前
|
存储 安全 IDE
【Maven】初识
【Maven】初识
|
12月前
|
存储 Java 测试技术