美文网首页
使用Maven来进行项目的创建、构建测试和文档的生成

使用Maven来进行项目的创建、构建测试和文档的生成

作者: DataNerd | 来源:发表于2017-10-01 02:41 被阅读0次
  • Maven 使用原型(archetype)插件创建工程
duxing@duxing-X550JK:~/Desktop/maven/maven_archetype$ mvn archetype:generate -DgroupId=person.dusixing -DartifactId=maven_archetype -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] 
[INFO] 
[INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: /home/duxing/Desktop/maven/maven_archetype
[INFO] Parameter: package, Value: person.dusixing
[INFO] Parameter: groupId, Value: person.dusixing
[INFO] Parameter: artifactId, Value: maven_archetype
[INFO] Parameter: packageName, Value: person.dusixing
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: /home/duxing/Desktop/maven/maven_archetype/maven_archetype
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.994 s
[INFO] Finished at: 2017-10-01T01:57:40+08:00
[INFO] Final Memory: 17M/244M
[INFO] ------------------------------------------------------------------------

创建好的工程目录树

duxing@duxing-X550JK:~/Desktop/maven/maven_archetype/maven_archetype$ tree -f
.
├── ./pom.xml
├── ./README.md
└── ./src
    ├── ./src/main
    │   └── ./src/main/java
    │       └── ./src/main/java/person
    │           └── ./src/main/java/person/dusixing
    │               ├── ./src/main/java/person/dusixing/App.java
    │               └── ./src/main/java/person/dusixing/Util.java
    └── ./src/test
        └── ./src/test/java
            └── ./src/test/java/person
                └── ./src/test/java/person/dusixing
                    └── ./src/test/java/person/dusixing/AppTest.java

9 directories, 5 files
  • 构建工程
duxing@duxing-X550JK:~/Desktop/maven/maven_archetype/maven_archetype$ mvn clean package
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building maven_archetype 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven_archetype ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven_archetype ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/duxing/Desktop/maven/maven_archetype/maven_archetype/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven_archetype ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /home/duxing/Desktop/maven/maven_archetype/maven_archetype/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ maven_archetype ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/duxing/Desktop/maven/maven_archetype/maven_archetype/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ maven_archetype ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /home/duxing/Desktop/maven/maven_archetype/maven_archetype/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ maven_archetype ---
[INFO] Surefire report directory: /home/duxing/Desktop/maven/maven_archetype/maven_archetype/target/surefire-reports
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.pom (1.7 kB at 1.2 kB/s)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/2.12.4/surefire-providers-2.12.4.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/2.12.4/surefire-providers-2.12.4.pom (2.3 kB at 4.5 kB/s)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit3/2.12.4/surefire-junit3-2.12.4.jar (26 kB at 31 kB/s)

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running person.dusixing.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ maven_archetype ---
[INFO] Building jar: /home/duxing/Desktop/maven/maven_archetype/maven_archetype/target/maven_archetype-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.345 s
[INFO] Finished at: 2017-10-01T02:06:17+08:00
[INFO] Final Memory: 23M/233M
[INFO] ------------------------------------------------------------------------

构建好的工程目录树

duxing@duxing-X550JK:~/Desktop/maven/maven_archetype/maven_archetype$ tree -f
.
├── ./pom.xml
├── ./README.md
├── ./src
│   ├── ./src/main
│   │   └── ./src/main/java
│   │       └── ./src/main/java/person
│   │           └── ./src/main/java/person/dusixing
│   │               ├── ./src/main/java/person/dusixing/App.java
│   │               └── ./src/main/java/person/dusixing/Util.java
│   └── ./src/test
│       └── ./src/test/java
│           └── ./src/test/java/person
│               └── ./src/test/java/person/dusixing
│                   └── ./src/test/java/person/dusixing/AppTest.java
└── ./target
    ├── ./target/classes
    │   └── ./target/classes/person
    │       └── ./target/classes/person/dusixing
    │           ├── ./target/classes/person/dusixing/App.class
    │           └── ./target/classes/person/dusixing/Util.class
    ├── ./target/maven_archetype-1.0-SNAPSHOT.jar
    ├── ./target/maven-archiver
    │   └── ./target/maven-archiver/pom.properties
    ├── ./target/maven-status
    │   └── ./target/maven-status/maven-compiler-plugin
    │       ├── ./target/maven-status/maven-compiler-plugin/compile
    │       │   └── ./target/maven-status/maven-compiler-plugin/compile/default-compile
    │       │       ├── ./target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
    │       │       └── ./target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
    │       └── ./target/maven-status/maven-compiler-plugin/testCompile
    │           └── ./target/maven-status/maven-compiler-plugin/testCompile/default-testCompile
    │               ├── ./target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
    │               └── ./target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
    ├── ./target/surefire-reports
    │   ├── ./target/surefire-reports/person.dusixing.AppTest.txt
    │   └── ./target/surefire-reports/TEST-person.dusixing.AppTest.xml
    └── ./target/test-classes
        └── ./target/test-classes/person
            └── ./target/test-classes/person/dusixing
                └── ./target/test-classes/person/dusixing/AppTest.class

24 directories, 16 files

  • 生成工程文档
duxing@duxing-X550JK:~/Desktop/maven/maven_archetype/maven_archetype$ mvn site
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building maven_archetype 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-site-plugin:3.3:site (default-site) @ maven_archetype ---
[WARNING] Report plugin org.apache.maven.plugins:maven-project-info-reports-plugin has an empty version.
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:2.9
[INFO] Relativizing decoration links with respect to project URL: http://maven.apache.org
[INFO] Rendering site with org.apache.maven.skins:maven-default-skin:jar:1.0 skin.
[INFO] Generating "Dependencies" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Dependency Convergence" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Dependency Information" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "About" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Plugin Management" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Plugins" report    --- maven-project-info-reports-plugin:2.9
[INFO] Generating "Summary" report    --- maven-project-info-reports-plugin:2.9
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.919 s
[INFO] Finished at: 2017-10-01T02:52:27+08:00
[INFO] Final Memory: 22M/374M
[INFO] ------------------------------------------------------------------------

生成文档后的目录树

duxing@duxing-X550JK:~/Desktop/maven/maven_archetype/maven_archetype$ tree -f
.
├── ./pom.xml
├── ./README.md
├── ./src
│   ├── ./src/main
│   │   └── ./src/main/java
│   │       └── ./src/main/java/person
│   │           └── ./src/main/java/person/dusixing
│   │               ├── ./src/main/java/person/dusixing/App.java
│   │               └── ./src/main/java/person/dusixing/Util.java
│   └── ./src/test
│       └── ./src/test/java
│           └── ./src/test/java/person
│               └── ./src/test/java/person/dusixing
│                   └── ./src/test/java/person/dusixing/AppTest.java
└── ./target
    ├── ./target/classes
    │   └── ./target/classes/person
    │       └── ./target/classes/person/dusixing
    │           ├── ./target/classes/person/dusixing/App.class
    │           └── ./target/classes/person/dusixing/Util.class
    ├── ./target/maven_archetype-1.0-SNAPSHOT.jar
    ├── ./target/maven-archiver
    │   └── ./target/maven-archiver/pom.properties
    ├── ./target/maven-status
    │   └── ./target/maven-status/maven-compiler-plugin
    │       ├── ./target/maven-status/maven-compiler-plugin/compile
    │       │   └── ./target/maven-status/maven-compiler-plugin/compile/default-compile
    │       │       ├── ./target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
    │       │       └── ./target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
    │       └── ./target/maven-status/maven-compiler-plugin/testCompile
    │           └── ./target/maven-status/maven-compiler-plugin/testCompile/default-testCompile
    │               ├── ./target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
    │               └── ./target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
    ├── ./target/site
    │   ├── ./target/site/css
    │   │   ├── ./target/site/css/maven-base.css
    │   │   ├── ./target/site/css/maven-theme.css
    │   │   ├── ./target/site/css/print.css
    │   │   └── ./target/site/css/site.css
    │   ├── ./target/site/dependencies.html
    │   ├── ./target/site/dependency-convergence.html
    │   ├── ./target/site/dependency-info.html
    │   ├── ./target/site/images
    │   │   ├── ./target/site/images/close.gif
    │   │   ├── ./target/site/images/collapsed.gif
    │   │   ├── ./target/site/images/expanded.gif
    │   │   ├── ./target/site/images/external.png
    │   │   ├── ./target/site/images/icon_error_sml.gif
    │   │   ├── ./target/site/images/icon_info_sml.gif
    │   │   ├── ./target/site/images/icon_success_sml.gif
    │   │   ├── ./target/site/images/icon_warning_sml.gif
    │   │   ├── ./target/site/images/logos
    │   │   │   ├── ./target/site/images/logos/build-by-maven-black.png
    │   │   │   ├── ./target/site/images/logos/build-by-maven-white.png
    │   │   │   └── ./target/site/images/logos/maven-feather.png
    │   │   └── ./target/site/images/newwindow.png
    │   ├── ./target/site/index.html
    │   ├── ./target/site/plugin-management.html
    │   ├── ./target/site/plugins.html
    │   ├── ./target/site/project-info.html
    │   └── ./target/site/project-summary.html
    ├── ./target/surefire-reports
    │   ├── ./target/surefire-reports/person.dusixing.AppTest.txt
    │   └── ./target/surefire-reports/TEST-person.dusixing.AppTest.xml
    └── ./target/test-classes
        └── ./target/test-classes/person
            └── ./target/test-classes/person/dusixing
                └── ./target/test-classes/person/dusixing/AppTest.class

28 directories, 40 files

通过target/site/index.html可以查看生成的文档

  • 参考资料
  1. 极客学院wiki Maven教程 创建工程 http://wiki.jikexueyuan.com/project/maven/creating-project.html
  2. 极客学院wiki Maven教程 构建 & 测试工程 http://wiki.jikexueyuan.com/project/maven/building-and-test-project.html
  3. 极客学院wiki Maven教程 工程文档 http://wiki.jikexueyuan.com/project/maven/project-documents.html

相关文章

  • 使用Maven来进行项目的创建、构建测试和文档的生成

    Maven 使用原型(archetype)插件创建工程 创建好的工程目录树 构建工程 构建好的工程目录树 生成工程...

  • maven入门

    一、什么是maven Maven是apache的一个顶级项目,用于项目的构建(代码的编译、运行单元测试、生成文档、...

  • Maven基本操作

    Maven基本操作 一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目。 使用Maven...

  • 安卓开发从0.1到1(2)启动项目MyApplication.j

    下面开始进行项目的构建与基础项目的启动首先使用AndroidStuidio创建一个Empty Activity的项...

  • Maven初识

    何为Maven 作用: 一个项目构建工具可以进行编译、单元测试、生成文档、打包、部署等。 一个依赖管理工具通过坐标...

  • 生成基于Maven的项目文档站点

    生成基于Maven的项目文档站点 在Maven中,可以使用“mvn site”,为您的项目信息生成文档站点。 生成...

  • maven运行原理

      maven至今还是Java编程语言构建的事实标准,大部分项目还在使用maven来进行构建,因此了解maven内...

  • maven内部运行原理解析(一)

    maven至今还是Java编程语言构建的事实标准,大部分项目还在使用maven来进行构建,因此了解maven内部运...

  • Maven的生命周期

    描述 Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试...

  • IDEA Spring Boot

    Title Maven Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目...

网友评论

      本文标题:使用Maven来进行项目的创建、构建测试和文档的生成

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