01-Maven教程

1.Maven优势                                                                                       

1)项目自动化编译部署

开发项目过程:

上述过程是重复的.maven可以最大化的消除重复,简化了重复的过程,这只是要一个简单的命令.

2)项目jar包的依赖管理

3)项目的插件管理

2.Maven介绍                                                                                             

maven是一个基于项目对象模型(POM,maven项目的一个总的配置文件)构建和管理的工具,可以方便的编译代码、进行依赖管理、插件集成,

有利于项目过程规范化、自动化、高效化.

3.安装Maven                                                                                             

1)官网下载安装包https://maven.apache.org/download.cgi    下载与当前操作系统相对应的二进制包(bin包),并解压到安装目录.

注意:maven-3.3及以上版本需要JDK 1.7以上的支持.

2)环境变量配置MAVEN_HOME

3)验证是否安装成功 mvn -v

4.maven项目约定                                                                                           

项目约定主要是规范开发人员编程,统一项目风格,简化操作.

指自己有固定的文件目录及对应目录的文件输出和文件配置的输出.

约定大于配置  => 简化配置

Maven项目结构:

5.Maven的核心知识                                                                                      

项目骨架:项目骨架是根据maven项目约定的规则来创建项目目录结构和资源文件.

构建项目命令:

mvn archetype:generate             //archetype [‘ɑ?k?ta?p]:原型   ;generate [‘d?en?re?t]:生成,产生

-DgroupId=组织名称

-DartifactId=项目名称

-Dversion=版本号

-Dpackage=包路径

实例:

打开CMD,这里统一将项目放到F:\mavenDemo目录下,切换到F:\mavenDemo,执行如下命令:

  1. C:\Users\chj03>F:
  2. F:\>cd mavenDemo
  3. F:\mavenDemo> //cls清屏 ;dir <path>列出path路径下的文件及目录 ;

创建maven项目:                                                                                                                                          

1)与用户交互的方式创建:

通过网络:

  1. // maven从官网下载项目骨架目录
  2. F:\mavenDemo>mvn archetype:generate //与用户交互式创建maven项目
  3. [INFO]Scanningfor projects...
  4. ...
  5. Choose a number or apply filter (format:[groupId:]artifactId,case sensitive contains):777: //通过maven-archetype-quickstart(777)创建普通的maven项目,这是默认的
  6. Choose org.apache.maven.archetypes:maven-archetype-quickstart version://选择maven-archetype-quickstart version的版本,直接回车,
  7. 1:1.0-alpha-1
  8. 2:1.0-alpha-2
  9. 3:1.0-alpha-3
  10. 4:1.0-alpha-4
  11. 5:1.0
  12. 6:1.1
  13. Choose a number:6://回车
  14. ...
  15. Define value for property ‘groupId‘:: com.chenjun.demo //组织名称
  16. Define value for property ‘artifactId‘:: maven-01 //项目名称
  17. Define value for property ‘version‘:1.0-SNAPSHOT::1.0-SNAPSHOT //版本号
  18. Define value for property ‘package‘: com.chenjun.demo:: com.chenjun.demo //包的路径
  19. Confirm properties configuration: //确认上述输入是否正确,确定无误输入Y并回车
  20. groupId: com.chenjun.demo
  21. artifactId: maven-01
  22. version:1.0-SNAPSHOT
  23. package: com.chenjun.demo
  24. Y:: Y
  25. [INFO]----------------------------------------------------------------------------
  26. [INFO]Using following parameters for creating project from Old(1.x)Archetype: maven-archetype-quickstart:1.1
  27. [INFO]----------------------------------------------------------------------------
  28. [INFO]Parameter: groupId,Value: com.chenjun.demo
  29. [INFO]Parameter: packageName,Value: com.chenjun.demo
  30. [INFO]Parameter: package,Value: com.chenjun.demo
  31. [INFO]Parameter: artifactId,Value: maven-01
  32. [INFO]Parameter: basedir,Value: F:\mavenDemo
  33. [INFO]Parameter: version,Value:1.0-SNAPSHOT
  34. [INFO] project created from Old(1.x)Archetypein dir: F:\mavenDemo\maven-01
  35. [INFO]------------------------------------------------------------------------
  36. [INFO] BUILD SUCCESS //表示创建成功
  37. [INFO]------------------------------------------------------------------------
  38. [INFO]Total time:59:57 min
  39. [INFO]Finished at:2016-05-13T12:27:21+08:00
  40. [INFO]FinalMemory:12M/129M
  41. [INFO]------------------------------------------------------------------------

通过插件:

  1. //骨架目录结构不通过远程创建,通过插件内部目录结构创建,快速
  2. F:\mavenDemo\train>mvn archetype:generate -DarchetypeCatalog=internal //走本地骨架的目录
  3. [INFO]Scanningfor projects...
  4. [INFO]
  5. [INFO]------------------------------------------------------------------------
  6. [INFO]BuildingMavenStubProject(No POM)1
  7. [INFO]------------------------------------------------------------------------
  8. [INFO]
  9. [INFO]>>> maven-archetype-plugin:2.4:generate (default-cli)> generate-sources @ standalone-pom >>>
  10. [INFO]
  11. [INFO]<<< maven-archetype-plugin:2.4:generate (default-cli)< generate-sources @ standalone-pom <<<
  12. [INFO]
  13. [INFO]--- maven-archetype-plugin:2.4:generate (default-cli)@ standalone-pom ---
  14. [INFO]Generating project inInteractive mode
  15. [INFO]No archetype defined.Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
  16. Choose archetype:
  17. 1: internal -> org.apache.maven.archetypes:maven-archetype-archetype (An archetype which contains a sample archetype.)
  18. 2: internal -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.)
  19. 3: internal -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)
  20. 4: internal -> org.apache.maven.archetypes:maven-archetype-plugin-site (An archetype which contains a sample Maven plugin site.
  21. This archetype can be layered upon an existing Maven plugin project.)
  22. 5: internal -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268Portlet.)
  23. 6: internal -> org.apache.maven.archetypes:maven-archetype-profiles ()
  24. 7: internal -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
  25. 8: internal -> org.apache.maven.archetypes:maven-archetype-site (An archetype which contains a sample Maven site which demonstrates
  26. some of the supported document types like APT,XDoc, and FML and demonstrates how
  27. to i18n your site.This archetype can be layered upon an existing Maven project.)
  28. 9: internal -> org.apache.maven.archetypes:maven-archetype-site-simple (An archetype which contains a sample Maven site.)
  29. 10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample MavenWebapp project.)
  30. Choose a number or apply filter (format:[groupId:]artifactId,case sensitive contains):7: //默认,回车
  31. Define value for property ‘groupId‘:: com.sohu.train //组织名称
  32. Define value for property ‘artifactId‘:: maven-01 //项目名称
  33. Define value for property ‘version‘:1.0-SNAPSHOT::1.0-SNAPSHOT //版本号
  34. Define value for property ‘package‘: com.sohu.train:: com.sohu.train //包的路径
  35. Confirm properties configuration:
  36. groupId: com.sohu.train
  37. artifactId: maven-01
  38. version:1.0-SNAPSHOT
  39. package: com.sohu.train
  40. Y:: Y
  41. [INFO]----------------------------------------------------------------------------
  42. [INFO]Using following parameters for creating project from Old(1.x)Archetype: maven-archetype-quickstart:1.1
  43. [INFO]----------------------------------------------------------------------------
  44. [INFO]Parameter: groupId,Value: com.sohu.train
  45. [INFO]Parameter: packageName,Value: com.sohu.train
  46. [INFO]Parameter: package,Value: com.sohu.train
  47. [INFO]Parameter: artifactId,Value: maven-01
  48. [INFO]Parameter: basedir,Value: F:\mavenDemo\train
  49. [INFO]Parameter: version,Value:1.0-SNAPSHOT
  50. [INFO] project created from Old(1.x)Archetypein dir: F:\mavenDemo\train\maven-01
  51. [INFO]------------------------------------------------------------------------
  52. [INFO] BUILD SUCCESS //创建成功
  53. [INFO]------------------------------------------------------------------------
  54. [INFO]Total time:01:34 min
  55. [INFO]Finished at:2016-05-13T12:48:39+08:00
  56. [INFO]FinalMemory:13M/154M
  57. [INFO]------------------------------------------------------------------------

查看maven项目结构:

  1. F:\mavenDemo\train>tree //TREE
  2. 卷Spark的文件夹 PATH 列表
  3. 卷序列号为0007-FD09
  4. F:.
  5. └─maven-01 //maven项目
  6. └─src
  7. ├─main
  8. │└─java
  9. │└─com
  10. │└─sohu
  11. │└─train
  12. └─test
  13. └─java
  14. └─com
  15. └─sohu
  16. └─train

2)直接创建maven项目:

  1. F:\mavenDemo\train>mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.sohu.train -DartifactId=maven-02-Dversion=1.0-SNAPSHOT -Dpackage=com.sohu.train
  2. [INFO]Scanningfor projects...
  3. [INFO]
  4. [INFO]------------------------------------------------------------------------
  5. [INFO]BuildingMavenStubProject(No POM)1
  6. [INFO]------------------------------------------------------------------------
  7. [INFO]
  8. [INFO]>>> maven-archetype-plugin:2.4:generate (default-cli)> generate-sources @ standalone-pom >>>
  9. [INFO]
  10. [INFO]<<< maven-archetype-plugin:2.4:generate (default-cli)< generate-sources @ standalone-pom <<<
  11. [INFO]
  12. [INFO]--- maven-archetype-plugin:2.4:generate (default-cli)@ standalone-pom ---
  13. [INFO]Generating project inInteractive mode
  14. [INFO]No archetype defined.Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
  15. Choose archetype:
  16. 1: internal -> org.apache.maven.archetypes:maven-archetype-archetype (An archetype which contains a sample archetype.)
  17. 2: internal -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.)
  18. 3: internal -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)
  19. 4: internal -> org.apache.maven.archetypes:maven-archetype-plugin-site (An archetype which contains a sample Maven plugin site.
  20. This archetype can be layered upon an existing Maven plugin project.)
  21. 5: internal -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268Portlet.)
  22. 6: internal -> org.apache.maven.archetypes:maven-archetype-profiles ()
  23. 7: internal -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
  24. 8: internal -> org.apache.maven.archetypes:maven-archetype-site (An archetype which contains a sample Maven site which demonstrates
  25. some of the supported document types like APT,XDoc, and FML and demonstrates how
  26. to i18n your site.This archetype can be layered upon an existing Maven project.)
  27. 9: internal -> org.apache.maven.archetypes:maven-archetype-site-simple (An archetype which contains a sample Maven site.)
  28. 10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample MavenWebapp project.)
  29. Choose a number or apply filter (format:[groupId:]artifactId,case sensitive contains):7: //使用第7个模板创建maven项目,默认,回车
  30. [INFO]Using property: groupId = com.sohu.train
  31. [INFO]Using property: artifactId = maven-02
  32. [INFO]Using property: version =1.0-SNAPSHOT
  33. [INFO]Using property: package = com.sohu.train
  34. Confirm properties configuration:
  35. groupId: com.sohu.train
  36. artifactId: maven-02
  37. version:1.0-SNAPSHOT
  38. package: com.sohu.train
  39. Y:: Y //确认
  40. [INFO]----------------------------------------------------------------------------
  41. [INFO]Using following parameters for creating project from Old(1.x)Archetype: maven-archetype-quickstart:1.1
  42. [INFO]----------------------------------------------------------------------------
  43. [INFO]Parameter: groupId,Value: com.sohu.train
  44. [INFO]Parameter: packageName,Value: com.sohu.train
  45. [INFO]Parameter: package,Value: com.sohu.train
  46. [INFO]Parameter: artifactId,Value: maven-02
  47. [INFO]Parameter: basedir,Value: F:\mavenDemo\train
  48. [INFO]Parameter: version,Value:1.0-SNAPSHOT
  49. [INFO] project created from Old(1.x)Archetypein dir: F:\mavenDemo\train\maven-02
  50. [INFO]------------------------------------------------------------------------
  51. [INFO] BUILD SUCCESS //创建成功
  52. [INFO]------------------------------------------------------------------------
  53. [INFO]Total time:33.704 s
  54. [INFO]Finished at:2016-05-13T13:02:49+08:00
  55. [INFO]FinalMemory:13M/154M
  56. [INFO]------------------------------------------------------------------------

查看maven项目结构:

  1. F:\mavenDemo\train>TREE
  2. 卷Spark的文件夹 PATH 列表
  3. 卷序列号为0007-FD09
  4. F:.
  5. ├─maven-01
  6. │└─src
  7. │├─main
  8. ││└─java
  9. ││└─com
  10. ││└─sohu
  11. ││└─train
  12. │└─test
  13. │└─java
  14. │└─com
  15. │└─sohu
  16. │└─train
  17. └─maven-02 //发现多了一个maven项目
  18. └─src
  19. ├─main
  20. │└─java
  21. │└─com
  22. │└─sohu
  23. │└─train
  24. └─test
  25. └─java
  26. └─com
  27. └─sohu
  28. └─train

6.maven常用命令                                                                                                        

  1. mvn archetype:generate //构建项目
  2. mvn clean //项目清理,删除target(编译好的字节码文件和测试报告)
  3. mvn compile //项目源代码的编译
  4. mvn test //项目单元测试的编译
  5. mvn package //项目打包
  6. mvn install //将jar包安装到本地仓库

注意:在使用mvn命令时(除构建命令外)需要进入maven项目的根目录下.

  1. F:\mavenDemo\train\maven-01>tree /f //查看当前目录下的项目结构
  2. 卷Spark的文件夹 PATH 列表
  3. 卷序列号为0007-FD09
  4. F:.
  5. │ pom.xml
  6. └─src
  7. ├─main
  8. │└─java
  9. │└─com
  10. │└─sohu
  11. │└─train
  12. │App.java //源文件
  13. └─test
  14. └─java
  15. └─com
  16. └─sohu
  17. └─train
  18. AppTest.java //单元测试文件

项目源代码编译:mvn compile

  1. F:\mavenDemo\train\maven-01>mvn compile
  2. [INFO]Scanningfor projects...
  3. [INFO]
  4. [INFO]------------------------------------------------------------------------
  5. [INFO]Building maven-011.0-SNAPSHOT
  6. [INFO]------------------------------------------------------------------------
  7. [INFO]
  8. [INFO]--- maven-resources-plugin:2.6:resources (default-resources)@ maven-01---
  9. ...
  10. [INFO]Changes detected - recompiling the module!
  11. [INFO]Compiling1 source file to F:\mavenDemo\train\maven-01\target\classes //完成了对一个源文件的编译,编译好的文件所在的目录
  12. [INFO]------------------------------------------------------------------------
  13. [INFO] BUILD SUCCESS
  14. [INFO]------------------------------------------------------------------------
  15. [INFO]Total time:13.545 s
  16. [INFO]Finished at:2016-05-13T13:27:11+08:00
  17. [INFO]FinalMemory:12M/124M
  18. [INFO]------------------------------------------------------------------------
  1. F:\mavenDemo\train\maven-01>tree /f
  2. 卷Spark的文件夹 PATH 列表
  3. 卷序列号为0007-FD09
  4. F:.
  5. │ pom.xml
  6. ├─src
  7. │├─main
  8. ││└─java
  9. ││└─com
  10. ││└─sohu
  11. ││└─train
  12. ││App.java
  13. ││
  14. │└─test
  15. │└─java
  16. │└─com
  17. │└─sohu
  18. │└─train
  19. │AppTest.java
  20. └─target //发现多个一个target文件夹...//target [‘tɑ?g?t]:目标
  21. ├─classes
  22. │└─com
  23. │└─sohu
  24. │└─train
  25. │App.class //对源代码文件(App.java)编译后的文件
  26. └─maven-status
  27. └─maven-compiler-plugin //使用到的maven插件
  28. └─compile
  29. └─default-compile
  30. createdFiles.lst
  31. inputFiles.lst

项目清理:mvn clean

  1. F:\mavenDemo\train\maven-01>mvn clean //对之前编译过的文件进行清除
  2. [INFO]Scanningfor projects...
  3. [INFO]
  4. [INFO]------------------------------------------------------------------------
  5. [INFO]Building maven-011.0-SNAPSHOT
  6. [INFO]------------------------------------------------------------------------
  7. [INFO]
  8. [INFO]--- maven-clean-plugin:2.5:clean (default-clean)@ maven-01---
  9. [INFO]Deleting F:\mavenDemo\train\maven-01\target
  10. [INFO]------------------------------------------------------------------------
  11. [INFO] BUILD SUCCESS
  12. [INFO]------------------------------------------------------------------------
  13. [INFO]Total time:0.441 s
  14. [INFO]Finished at:2016-05-13T13:36:47+08:00
  15. [INFO]FinalMemory:6M/121M
  16. [INFO]------------------------------------------------------------------------
  1. F:\mavenDemo\train\maven-01>tree /f //target文件夹已经被清除
  2. 卷Spark的文件夹 PATH 列表
  3. 卷序列号为0007-FD09
  4. F:.
  5. │ pom.xml
  6. └─src
  7. ├─main
  8. │└─java
  9. │└─com
  10. │└─sohu
  11. │└─train
  12. │App.java
  13. └─test
  14. └─java
  15. └─com
  16. └─sohu
  17. └─train
  18. AppTest.java

项目单元测试:mvn test

  1. F:\mavenDemo\train\maven-01>mvn test
  2. [INFO]Scanningfor projects...
  3. [INFO]
  4. [INFO]------------------------------------------------------------------------
  5. [INFO]Building maven-011.0-SNAPSHOT
  6. [INFO]------------------------------------------------------------------------
  7. ...
  8. [INFO]
  9. [INFO]--- maven-resources-plugin:2.6:resources (default-resources)@ maven-01---
  10. [INFO]Using‘UTF-8‘ encoding to copy filtered resources.
  11. [INFO] skip non existing resourceDirectory F:\mavenDemo\train\maven-01\src\main\resources
  12. [INFO]
  13. [INFO]--- maven-compiler-plugin:3.1:compile (default-compile)@ maven-01---
  14. [INFO]Changes detected - recompiling the module!
  15. [INFO]Compiling1 source file to F:\mavenDemo\train\maven-01\target\classes
  16. [INFO]
  17. [INFO]--- maven-resources-plugin:2.6:testResources (default-testResources)@ maven-01---
  18. [INFO]Using‘UTF-8‘ encoding to copy filtered resources.
  19. [INFO] skip non existing resourceDirectory F:\mavenDemo\train\maven-01\src\test\resources
  20. [INFO]
  21. [INFO]--- maven-compiler-plugin:3.1:testCompile (default-testCompile)@ maven-01---
  22. [INFO]Changes detected - recompiling the module!
  23. [INFO]Compiling1 source file to F:\mavenDemo\train\maven-01\target\test-classes
  24. [INFO]
  25. [INFO]--- maven-surefire-plugin:2.12.4:test (default-test)@ maven-01---
  26. ...
  27. -------------------------------------------------------
  28. T E S T S
  29. -------------------------------------------------------
  30. Running com.sohu.train.AppTest
  31. Tests run:1,Failures:0,Errors:0,Skipped:0,Time elapsed:0.007 sec
  32. Results:
  33. Tests run:1,Failures:0,Errors:0,Skipped:0
  34. [INFO]------------------------------------------------------------------------
  35. [INFO] BUILD SUCCESS
  36. [INFO]------------------------------------------------------------------------
  37. [INFO]Total time:20.556 s
  38. [INFO]Finished at:2016-05-13T13:41:16+08:00
  39. [INFO]FinalMemory:15M/160M
  40. [INFO]------------------------------------------------------------------------
  1. F:\mavenDemo\train\maven-01>tree /f
  2. 卷Spark的文件夹 PATH 列表
  3. 卷序列号为0007-FD09
  4. F:.
  5. │ pom.xml
  6. ├─src
  7. │├─main
  8. ││└─java
  9. ││└─com
  10. ││└─sohu
  11. ││└─train
  12. ││App.java
  13. ││
  14. │└─test
  15. │└─java
  16. │└─com
  17. │└─sohu
  18. │└─train
  19. │AppTest.java
  20. └─target //生成一个target目录,并未执行 mvn compile 命令
  21. ├─classes
  22. │└─com
  23. │└─sohu
  24. │└─train
  25. │App.class
  26. ├─maven-status
  27. │└─maven-compiler-plugin //用到的插件
  28. │├─compile
  29. ││└─default-compile
  30. ││ createdFiles.lst
  31. ││ inputFiles.lst
  32. ││
  33. │└─testCompile
  34. │└─default-testCompile
  35. │ createdFiles.lst
  36. │ inputFiles.lst
  37. ├─surefire-reports //单元测试生成的报告
  38. │ com.sohu.train.AppTest.txt
  39. │ TEST-com.sohu.train.AppTest.xml
  40. └─test-classes //完成单元测试的编译,即编译AppTest.java文件
  41. └─com
  42. └─sohu
  43. └─train
  44. AppTest.class

记得清理:mvn clean

查看 :tree /f

对项目的打包:mvn package

  1. F:\mavenDemo\train\maven-01>mvn package
  2. [INFO]Scanningfor projects...
  3. [INFO]
  4. [INFO]------------------------------------------------------------------------
  5. [INFO]Building maven-011.0-SNAPSHOT
  6. [INFO]------------------------------------------------------------------------
  7. [INFO]
  8. [INFO]--- maven-resources-plugin:2.6:resources (default-resources)@ maven-01---
  9. [INFO]Using‘UTF-8‘ encoding to copy filtered resources.
  10. [INFO] skip non existing resourceDirectory F:\mavenDemo\train\maven-01\src\main\resources
  11. [INFO]
  12. [INFO]--- maven-compiler-plugin:3.1:compile (default-compile)@ maven-01---
  13. [INFO]Changes detected - recompiling the module!
  14. [INFO]Compiling1 source file to F:\mavenDemo\train\maven-01\target\classes
  15. [INFO]
  16. [INFO]--- maven-resources-plugin:2.6:testResources (default-testResources)@ maven-01---
  17. [INFO]Using‘UTF-8‘ encoding to copy filtered resources.
  18. [INFO] skip non existing resourceDirectory F:\mavenDemo\train\maven-01\src\test\resources
  19. [INFO]
  20. [INFO]--- maven-compiler-plugin:3.1:testCompile (default-testCompile)@ maven-01---
  21. [INFO]Changes detected - recompiling the module!
  22. [INFO]Compiling1 source file to F:\mavenDemo\train\maven-01\target\test-classes
  23. [INFO]
  24. [INFO]--- maven-surefire-plugin:2.12.4:test (default-test)@ maven-01---
  25. [INFO]Surefire report directory: F:\mavenDemo\train\maven-01\target\surefire-reports
  26. -------------------------------------------------------
  27. T E S T S
  28. -------------------------------------------------------
  29. Running com.sohu.train.AppTest
  30. Tests run:1,Failures:0,Errors:0,Skipped:0,Time elapsed:0.007 sec
  31. Results:
  32. Tests run:1,Failures:0,Errors:0,Skipped:0
  33. [INFO]
  34. [INFO]--- maven-jar-plugin:2.4:jar (default-jar)@ maven-01---
  35. Downloading: https://repo.maven.apache.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
  36. Downloaded: https://repo.maven.apache.org/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar(37 KB at 17.7 KB/sec)
  37. [INFO]Building jar: F:\mavenDemo\train\maven-01\target\maven-01-1.0-SNAPSHOT.jar
  38. [INFO]------------------------------------------------------------------------
  39. [INFO] BUILD SUCCESS
  40. [INFO]------------------------------------------------------------------------
  41. [INFO]Total time:5.625 s
  42. [INFO]Finished at:2016-05-13T13:52:43+08:00
  43. [INFO]FinalMemory:19M/225M
  44. [INFO]------------------------------------------------------------------------
  45. F:\mavenDemo\train\maven-01>tree /f
  46. 卷Spark的文件夹 PATH 列表
  47. 卷序列号为0007-FD09
  48. F:.
  49. │ pom.xml
  50. ├─src
  51. │├─main
  52. ││└─java
  53. ││└─com
  54. ││└─sohu
  55. ││└─train
  56. ││App.java
  57. ││
  58. │└─test
  59. │└─java
  60. │└─com
  61. │└─sohu
  62. │└─train
  63. │AppTest.java
  64. └─target
  65. │ maven-01-1.0-SNAPSHOT.jar //生成jar包.;创建maven项目的时候约定的一个规则,maven-01是定义好的项目名称,1.0-SNAPSHOT是定义好的版本号;
  66. ├─classes
  67. │└─com
  68. │└─sohu
  69. │└─train
  70. │App.class
  71. ├─maven-archiver
  72. │ pom.properties
  73. ├─maven-status
  74. │└─maven-compiler-plugin
  75. │├─compile
  76. ││└─default-compile
  77. ││ createdFiles.lst
  78. ││ inputFiles.lst
  79. ││
  80. │└─testCompile
  81. │└─default-testCompile
  82. │ createdFiles.lst
  83. │ inputFiles.lst
  84. ├─surefire-reports
  85. │ com.sohu.train.AppTest.txt
  86. │ TEST-com.sohu.train.AppTest.xml
  87. └─test-classes
  88. └─com
  89. └─sohu
  90. └─train
  91. AppTest.class

安装jar包到本地仓库:mvn install

  1. F:\mavenDemo\train\maven-01>tree /f
  2. 卷Spark的文件夹 PATH 列表
  3. 卷序列号为0007-FD09
  4. F:.
  5. │.classpath
  6. │.project
  7. │ pom.xml
  8. ├─.settings
  9. │ org.eclipse.core.resources.prefs
  10. │ org.eclipse.jdt.core.prefs
  11. │ org.eclipse.m2e.core.prefs
  12. └─src
  13. ├─main
  14. │└─java
  15. │└─com
  16. │└─sohu
  17. │└─train
  18. │App.java
  19. └─test
  20. └─java
  21. └─com
  22. └─sohu
  23. └─train
  24. AppTest.java
  25. F:\mavenDemo\train\maven-01>mvn install
  26. [INFO]Scanningfor projects...
  27. [INFO]
  28. [INFO]------------------------------------------------------------------------
  29. [INFO]Building maven-011.0-SNAPSHOT
  30. [INFO]------------------------------------------------------------------------
  31. [INFO]
  32. [INFO]--- maven-resources-plugin:2.6:resources (default-resources)@ maven-01---
  33. [INFO]Using‘UTF-8‘ encoding to copy filtered resources.
  34. [INFO] skip non existing resourceDirectory F:\mavenDemo\train\maven-01\src\main\resources
  35. [INFO]
  36. [INFO]--- maven-compiler-plugin:3.1:compile (default-compile)@ maven-01---
  37. [INFO]Changes detected - recompiling the module!
  38. [INFO]Compiling1 source file to F:\mavenDemo\train\maven-01\target\classes
  39. [INFO]
  40. [INFO]--- maven-resources-plugin:2.6:testResources (default-testResources)@ maven-01---
  41. [INFO]Using‘UTF-8‘ encoding to copy filtered resources.
  42. [INFO] skip non existing resourceDirectory F:\mavenDemo\train\maven-01\src\test\resources
  43. [INFO]
  44. [INFO]--- maven-compiler-plugin:3.1:testCompile (default-testCompile)@ maven-01---
  45. [INFO]Changes detected - recompiling the module!
  46. [INFO]Compiling1 source file to F:\mavenDemo\train\maven-01\target\test-classes
  47. [INFO]
  48. [INFO]--- maven-surefire-plugin:2.12.4:test (default-test)@ maven-01---
  49. [INFO]Surefire report directory: F:\mavenDemo\train\maven-01\target\surefire-reports
  50. -------------------------------------------------------
  51. T E S T S
  52. -------------------------------------------------------
  53. Running com.sohu.train.AppTest
  54. Tests run:1,Failures:0,Errors:0,Skipped:0,Time elapsed:0.011 sec
  55. Results:
  56. Tests run:1,Failures:0,Errors:0,Skipped:0
  57. [INFO]
  58. [INFO]--- maven-jar-plugin:2.4:jar (default-jar)@ maven-01---
  59. [INFO]Building jar: F:\mavenDemo\train\maven-01\target\maven-01-1.0-SNAPSHOT.jar
  60. [INFO]
  61. [INFO]--- maven-install-plugin:2.4:install (default-install)@ maven-01---
  62. [INFO]Installing F:\mavenDemo\train\maven-01\target\maven-01-1.0-SNAPSHOT.jar to E:\mavenRepository\com\sohu\train\maven-01\1.0-SNAPSHOT\maven-01-1.0-SNAPSHOT.jar //安装jar包到本地仓库
  63. [INFO]Installing F:\mavenDemo\train\maven-01\pom.xml to E:\mavenRepository\com\sohu\train\maven-01\1.0-SNAPSHOT\maven-01-1.0-SNAPSHOT.pom
  64. [INFO]------------------------------------------------------------------------
  65. [INFO] BUILD SUCCESS
  66. [INFO]------------------------------------------------------------------------
  67. [INFO]Total time:3.429 s
  68. [INFO]Finished at:2016-05-13T23:07:51+08:00
  69. [INFO]FinalMemory:14M/225M
  70. [INFO]------------------------------------------------------------------------
  71. F:\mavenDemo\train\maven-01>tree /f
  72. 卷Spark的文件夹 PATH 列表
  73. 卷序列号为0007-FD09
  74. F:.
  75. │.classpath
  76. │.project
  77. │ pom.xml
  78. ├─.settings
  79. │ org.eclipse.core.resources.prefs
  80. │ org.eclipse.jdt.core.prefs
  81. │ org.eclipse.m2e.core.prefs
  82. ├─src
  83. │├─main
  84. ││└─java
  85. ││└─com
  86. ││└─sohu
  87. ││└─train
  88. ││App.java
  89. ││
  90. │└─test
  91. │└─java
  92. │└─com
  93. │└─sohu
  94. │└─train
  95. │AppTest.java
  96. └─target
  97. │ maven-01-1.0-SNAPSHOT.jar
  98. ├─classes
  99. │└─com
  100. │└─sohu
  101. │└─train
  102. │App.class
  103. ├─maven-archiver
  104. │ pom.properties
  105. ├─maven-status
  106. │└─maven-compiler-plugin
  107. │├─compile
  108. ││└─default-compile
  109. ││ createdFiles.lst
  110. ││ inputFiles.lst
  111. ││
  112. │└─testCompile
  113. │└─default-testCompile
  114. │ createdFiles.lst
  115. │ inputFiles.lst
  116. ├─surefire-reports
  117. │ com.sohu.train.AppTest.txt
  118. │ TEST-com.sohu.train.AppTest.xml
  119. └─test-classes
  120. └─com
  121. └─sohu
  122. └─train
  123. AppTest.class

来自为知笔记(Wiz)

时间: 2024-11-08 10:52:47

01-Maven教程的相关文章

Rhythmk 学习 Hibernate 01 - maven 创建Hibernate 项目之 增删改查入门

1.环境: Maven :3.1.1 开发工具:Spring Tool Suite 数据库 : Mysql  5.6 2.项目文件结构 文件代码: 2.1 .pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap

maven教程全攻略

maven教程全攻略 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的jar包都会作为项目的依赖. 通常,一个java EE项目所依赖的jar包会有很多.然而,这还并非是主要问题,在管理这些jar包过程中,jar包的版本往往是最令人头疼的问题.选择一个jar包的版本,需要考虑它所依赖的jar包是否支持这个版本,并且还需要确认依赖它的jar包能不能对这个版本兼容. 所

Maven 教程

Maven 教程 序:几次对Maven 的学习,都因为各种原因 而中途切断了,再一次学习的时候,又不得不重新开始,结果发现 又不记得步骤 又找不到对应的文档.别人写的再好,终究比不过自己亲手实践的得出的结果更值得相信! 在 windows 环境上的 安装与实例实践 操作步骤 和 结果记录如下: 一.Maven 安装 1.Maven 的下载 下载地址 http://maven.apache.org/download.cgi 选择对应的版本下载,这里 我使用 apache-maven-3.3.3-b

Maven 教程入门(整理版)

今天又开始看了Maven,感觉一下几个网友 写的真是棒棒哒!!!记录一下. ======================================================================== maven 教程入门 maven 配置管理 编译java程序 Maven学习总结(一)--Maven入门 Maven那点事儿(Eclipse版)

Maven教程3(依赖管理)

Maven教程2(Eclipse配置及maven项目) Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象.这些对 象通过一个名为项目对象模型(Project Object Model, POM)的XML文件描述.这个POM 告诉Maven它正处理什么类型的项目,如何修改默认的行为来从源码生成输出.同样 的方式,一个Java Web应用有一个web.xml文件来描述,配置,及自定义该应用,一个 Maven项目则通过一个 pom.xml文件定义.该文件是Maven中一个项目的

Maven教程2(Eclipse配置及maven项目)

Maven教程1(介绍安装和配置) Eclipse中配置maven 1.Eclipse中默认集成的有Maven 可以使用默认的,本地仓库在当前用户下的.m2文件夹下. 2.配置我们自己安装的maven 2.1指定配置安装maven的路径 2.2重新指定setting.xml文件的位置 2.3setting.xml文件中添加代理服务器地址 中央仓库的地址在国外直接下载jar会很慢,所以我们需要通过代理的方式下载 <!-- 阿里代理镜像地址 --> <mirror> <id>

Maven教程4(私服-nexus)

仓库管理器也叫私服或代理仓库 仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件的地方. 1Nexus介绍 Nexus是一个强大的Maven仓库管理器, 它极大地简化了自己内部仓库的维护和外部仓库的访问. 利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact. Nexus是一套"开箱即用"的系统不需要数据库,它使用文件系统加Lucene来组织数

maven入门和进阶 基础入门 希望帮助大家maven 教程

安装maven,创建和运行web项目 安装maven和在eclipse中整合maven 1下载maven 百度云盘地址: http://pan.baidu.com/s/1i32gn9F 需要将setting.xml 的私服配置成你个人使用的私服地址 下载并解压到本地 2 配置环境变量 Path下添加maven bin目录 3测试是否成功配置 至此, maven安装配置成功. 注意:此文档默认你的eclipse支持maven项目, 存在maven eclipse插件 (Eclipse没有安装mav

maven 学习---Maven教程

Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件. 本教程将介绍如何使用Maven在Java开发,或任何其他的编程语言的任何项目. Maven是什么? Maven是一个项目管理和综合工具.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期. 在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作.

maven教程5(聚合工程)

所谓聚合项目,实际上就是对项目分模块,互联网项目一般来说按照业务分(订单模块.VIP模块.支付模块.CMS模块...),传统的软件项目,大多采用分层的方式(Dao.Serivce.Controller): 一.多模块结构 bobo-parent pom 管理 |-- bobo-manager pom 管理 |-- bobo-manager-dao jar |-- bobo-manager-service jar |-- bobo-manager-model jar |-- bobo-manage