zoukankan      html  css  js  c++  java
  • Maven

    Maven

    项目管理工具

    • 构建项目(Builds)
    • 依赖管理(Dependencies)
    • 配置管理(SCMs)
    • 发布管理(Release)
    • 文档编制(Documentation)
    • 报告(Reporting)

    特点:

    • 微内核(只解析XML,其他由Maven插件处理)
    • 约定优于配置
    • 定义项目模型

    安装:

    brew install maven
    mvn -version
    

    创建Maven项目

    mvn archetype:generate -DgroupId=org.flyne.demo -DartifactId=maven-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    # 这是一个goal
    

    项目结构

    maven-demo
    |– pom.xml
    `– src
    |– main
    | `– java
    |    `– org
    |      `– flyne
    |        `– demo
    |          `– App.java
    `– test
    `– java
    `– org
    `– flyne
    `– demo
    `– AppTest.java
    

    POM文件,项目对象模型(Project Object Model)

    项目的核心配置文件

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <groupId>com.tiantian.mavenTest</groupId>  
      <artifactId>projectB</artifactId>  
      <version>1.0-SNAPSHOT</version>  
      <packaging>jar</packaging>  
       
      <dependencies>  
        <dependency>  
          <groupId>junit</groupId>  
          <artifactId>junit</artifactId>  
          <version>3.8.1</version>  
          <scope>test</scope>  
                  <optional>true</optional>  
        </dependency>  
      </dependencies>  
    </project>  
    

    构建项目

    mvn package
    # 这是一个phase
    mvn compile
    # 这也是一个phase,包含如下的阶段:
    # 1. validate
    # 2. generate-sources
    # 3. process-sources
    # 4. generate-resources
    # 5. process-resources
    # 6. compile
    

    Maven常用阶段(phase)

    • validate:验证项目是否正确,所有必须的信息是否可用
    • compile:编译项目的源码
    • test:使用单元测试框架对编译后的源代码逆行测试
    • package:接受编译好的代码,打包成可发布的格式,如jar
    • verify:运行任何检查,验证包是否有效且达到质量标准
    • install:将包安装到Maven本地仓库,供本地其他Maven项目使用
    • deploy:将最终的包复制到远程仓库,供其他开发人员和Maven项目使用
    • clean:清理上一次构建生成的文件
    • site:生成项目站点文档
    写在后面:

    1. 子曰:「学而不思则罔,思而不学则殆」。
    2. 站点地图
    2. 本作品作者为 Lshare,采用知识共享署名 4.0 国际许可协议进行许可。
  • 相关阅读:
    扩展JSON
    字符串格式化---- String.prototype.format
    HigntChats应用举例--报表
    django Form组件之解决数据无法动态显示之BUG----以博客园添加新随笔页为主
    报错:jquery3.1.1报错Uncaught TypeError: a.indexOf is not a function
    HDU 6166 Senior Pan(多校第九场 二进制分组最短路)
    HDU 6069 Counting Divisors(区间素数筛法)
    hdu 6058 Kanade's sum (计算贡献,思维)
    HDU 6052 To my boyfriend(容斥+单调栈)
    HDU 6041 I Curse Myself(点双联通加集合合并求前K大) 2017多校第一场
  • 原文地址:https://www.cnblogs.com/lshare/p/11334382.html
Copyright © 2011-2022 走看看