Maven入门

  1. Maven是什么?

    一个项目构建工具.为开发者提供了一套完整的构建项目生命周期的框架.

  2. 约定优于配置

    在没有自定义的情况下,源代码,资源文件,测试代码都有固定的位置.

  3. 创建一个简单的项目

    在命令行输入

    mvn archetype:generate -DgroupId=com.lkc.helloworld -DartifactId=helloworld -Dpackage=com.lkc.helloworld -Dversion=1.0-SNAPSHOT
    

    回车之后就建好了一个maven项目,archetype是maven的一个插件,generate就是一个目标,maven真正做的事通过执行插件的目标来完成,自己只做一些依赖的东西;
    接下来的所有-DName=value就是将参数传到目标中;
    groupId就是所在的组的标识符;
    artifactId就是项目标识符;
    package是包名;
    version就是版本号.
    之后查看下目录结构:

    .
    └── helloworld   
        ├── pom.xml   
        └── src    
            ├── main     
            │   └── java
            │       └── com
            │           └── lkc
            │               └── helloworld
            │                   └── App.java
            └── test
                └── java
                    └── com
                        └── lkc
                            └── helloworld
                                └── AppTest.java
    

    archetype新建了一个与artifactId相同的helloworld目录,是项目的基础目录.
    pom.xml描述了项目,配置了插件,声明了依赖.
    src/main是项目的源码目录.
    src/test是项目的测试目录.

  4. 构建一个项目

    上一节新建了一个项目,那我们肯定不想让它建好了就放在那不用,肯定希望构建并打包这个项目,可以通过

    mvn install
    

    来构建,但要在pom.xml这个文件所在的位置下执行.
    执行完毕后在命令行输入

    java -cp target/simple-1.0-SNAPSHOT.jar com.lkc.helloworld.App
    

    运行你的项目,会打印出

    Hello World!
    

    运行成功

  5. 项目的对象模型

    当Maven运行时它向项目对象模型查看关于项目的相关信息,pom.xml回答了这个项目是什么类型的,这个项目的名称是什么类似的问题;下面来看一下刚刚的pom文件:

    
           
      4.0.0
    
      com.lkc.helloworld
      helloworld
      1.0-SNAPSHOT
      jar
    
      helloworld
      http://maven.apache.org
    
      
        UTF-8
      
    
      
        
          junit
          junit
          3.8.1
          test
        
      
    
    

    groupId,artifactId,packaging,version是Maven的坐标,唯一地标识了这个项目;
    name和url描述了项目的名字和站点;
    dependencies定义了一个单独的测试范围依赖;
    Maven通过pom.xml让项目跑起来.

  6. 常用的Maven命令
    | mvn test-compile | 编译测试代码 |
    | mvn test | 运行测试 |
    | mvn package | 打包项目 |
    | mvn archetype:generate | 创建Maven项目 |
    | mvn clean | 清理项目(删除target文件夹) |

你可能感兴趣的:(Maven入门)