01-Maven教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.

以上是关于01-Maven教程的主要内容,如果未能解决你的问题,请参考以下文章

markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章

片段 getActivity 不起作用

maven 仓库下载与配置教程

maven 仓库下载与配置教程

最全最详细publiccms常用的代码片段

最全最详细publiccms其他常用代码片段(内容站点)