Apache Maven 入门——maven介绍和用maven命令创建项目
2018-01-16 11:34
627 查看
maven是什么
Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目自动构建,依赖管理和项目信息管理。对于程序员来说,最关心的是它的项目自动构建功能和依赖管理的功能。
下载和配置
下载
使用 maven 前,先安装 JDK 。 Maven 官网的下载链接是 : http://maven.apache.org/download.html 。本文下载的是最新的 apache-maven-3.5.2-bin.zip 解压到本地文件夹中,解压的路径是D:\apache-maven-3.5.2。在配置maven之前,先确定安装配置了jdk,3.5.2版本的maven要求jdk1.7以上。
配置
在计算机系统变量中增加变量MV_HOME:D:\apache-maven-3.5.2在PATH最后加上 ;%MV_HOME%\bin 用分号与前面的文字隔开。
打开dos窗口输入命令 mvn -v 可以看到安装的mvn信息
用命令创建maven项目
maven项目的目录约定:
maven项目采用“约定优于配置”的原则,src/main/java约定用于存放源代码,src/main/test用于存放单元测试代码,src/target用于存放编译、打包后的输出文件。这是全世界maven项目的通用约定。MavenProjectRoot(项目根目录) |----src | |----main | | |----java ——存放项目的.java文件 | | |----resources ——存放项目资源文件,如spring, hibernate配置文件 | |----test | | |----java ——存放所有测试.java文件,如JUnit测试类 | | |----resources ——存放项目资源文件,如spring, hibernate配置文件 |----target ——项目输出位置 |----pom.xml ----用于标识该项目是一个Maven项目
理解maven仓库
首次运行完mvn -version后,会在用户目录下创建一个.m2的目录(比如:C:\Users\Administrator.m2),这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识( 唯一识别某个jar包文件名、版本号的标识 ),这样所有maven项目就不用把jar包复制到lib目录中。当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。用Maven命令创建项目
在 maven 中,我们是执行 maven 目标(archetype插件)来创建,逐步指定所创建的maven项目的组织名、模块名、版本号、打包方式等信息。打开命令窗口,输入如下命令,即可自动创建一个java工程,本文中创建的路径是:C:\Windows\SysWOW64\helloworld
mvn archetype:generate -DgroupId=com.helloworld -DartifactId=helloworld -Dpackage=com.my.helloworld -Dversion=1.0-SNAPSHOT
... [INFO] Generating project in Interactive mode (这里会卡一会儿,因为要联网获取项目模板) [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: remote -> br.com.ingenieux:elasticbeanstalk-service-webapp-archetype (A Maven Archetype Encompassing RestAssured, Jetty, Jackson, Guice and Jersey for Publishing JAX-RS-based Services on AWS' Elastic Beanstalk Service) ... (这里会自动列出很多项目模板,每种模板前面会有一个数字序号) 336: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.) ... Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 336: (这里根据每个人机器上安装的eclipse插件不同,可能默认的数字不是这个,先不管,直接回车) Choose org.apache.maven.archetypes:maven-archetype-quickstart version: 1: 1.0-alpha-1 2: 1.0-alpha-2 3: 1.0-alpha-3 4: 1.0-alpha-4 5: 1.0 6: 1.1 Choose a number: 6: (直接回车) Define value for property 'groupId': : com.helloworld (可暂时先理解成类似package或namespace的名称,通常我们填写组织机构名称缩写) Define value for property 'artifactId': : helloworld (组件名称,可暂时理解成项目名称) Define value for property 'version': 1.0-SNAPSHOT: : (版本号,直接回车,默认1.0-SNAPSHOT) Define value for property 'package': com.helloworld: : (打包后的jar文件名,相当于.net中项目最后生成的程序集dll名称) Confirm properties configuration: groupId: com.helloworld artifactId: helloworld version: 1.0-SNAPSHOT package: com.helloworld Y: : (回车确认) ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS (项目创建成功) [INFO] ------------------------------------------------------------------------ ...
用Maven命令编译项目
C:\Windows\System32>cd C:\Windows\SysWOW64\helloworld 进入项目根目录 C:\Windows\SysWOW64\helloworld>mvn clean compile 编译
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building helloworld 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom (8.1kB at 4.7kB/s)(下载必须的jar包) [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ helloworld --- [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory C:\Windows\SysWOW64\helloworld\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file to C:\Windows\SysWOW64\helloworld\target\classes [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS (编译成功) [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:08 min [INFO] Finished at: 2018-01-16T15:37:53+08:00 [INFO] Final Memory: 12M/28M [INFO] ------------------------------------------------------------------------
参考文章:
https://www.cnblogs.com/yjmyzz/p/3495762.html
http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-1-406235-zhs.html
http://www.cnblogs.com/xdp-gacl/p/3498271.html
相关文章推荐
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
- maven使用mvn命令创建项目异常java.lang.NoClassDefFoundError: org/apache/commons/collections/ExtendedProperties
- maven使用命令创建项目失败[ERROR] Could not find goal 'create' in plugin org.apache.maven.plugins:maven-archety
- 使用Maven命令创建项目
- testng+maven+java+idea 接口测试入门一:项目创建
- Maven入门,Maven项目的创建,nexus 2.x搭建私服以及Maven多模块项目创建
- 图文介绍IntelliJ IDEA 创建基于Maven构建的Web项目
- Maven学习(二十)-- Maven常用命令-创建Java项目
- Maven 命令行创建项目时 Could not find goal ‘create’ in plugin org.apache.maven.plugins:...
- Maven介绍,安装以及创建项目
- 如何使用idea(2016.2.4)创建一个maven的项目(入门)
- Maven 创建项目的时候 [INFO] The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be fo
- intellij idea创建maven项目入门
- Maven学习笔记(一)-使用Maven创建项目以及常用Maven命令
- Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
- 使用命令创建maven项目
- Maven学习(二一)-- Maven常用命令-创建Web项目
- (八)Eclipse创建Maven项目运行mvn命令