美文网首页
Maven入门

Maven入门

作者: iDevOps | 来源:发表于2019-09-18 18:45 被阅读0次
Maven是什么
  1. 一个项目管理工具
  2. 对项目中的jar包进行依赖管理
  3. 对项目的一键构建
Maven安装
  1. 依赖JDK1.7+
  2. 下载Maven, 下载地址
  3. 配置maven环境变量
  4. 查看Maven版本号, mvn -v
  5. 修改本地仓库地址和添加阿里镜像
# apache-maven-3.6.1\conf\settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
.....
<localRepository>G:\本地仓库地址</localRepository>
.....
 <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
    <mirror>
      <id>nexus-aliyun-thirdparty</id>
      <mirrorOf>thirdparty</mirrorOf>
      <name>Nexus aliyun thirdparty</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/thirdparty/</url>
    </mirror>
  </mirrors>
.....
</settings>
Maven常用命令
  • compile
    maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下
mvn compile
  • test
    maven工程的测试命令,会执行src/test/java下的单元测试类
mvn test
  • clean
    清理命令,会删除target目录及内容
maven clean
  • package
    打包命令,对java工程执行package打成jar包,对web工程打成war包
mvn package
  • install
    安装命令,将maven工程打包成jar或war包,并发布到本地仓库
mvn install
  • 项目的生命周期
    项目构建包括:清理、编译、测试、报告、打包、部署
pom.xml

每一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。

  • 依赖范围 <scope>provided</scop>
    compile: 编译范围,指 A 在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
    provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided 依 赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。
    runtime:runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。
    test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要所以 test范围依赖不会被打包。
    system:system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR
    文件的路径,需要指定 systemPath 磁盘路径,system依赖不推荐使用。

相关文章

网友评论

      本文标题:Maven入门

      本文链接:https://www.haomeiwen.com/subject/sukfuctx.html