Apache Maven 入门——maven介绍和用maven命令创建项目

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个通用的 Maven 3.5.2 `settings.xml` 配置示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- 全局配置 --> <localRepository>${user.home}/.m2/repository</localRepository> <interactiveMode>true</interactiveMode> <offline>false</offline> <pluginGroups> <pluginGroup>org.apache.maven.plugins</pluginGroup> </pluginGroups> <!-- 服务器配置 --> <servers> <server> <id>myserver</id> <username>myusername</username> <password>mypassword</password> </server> </servers> <!-- 镜像配置 --> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> <!-- 配置文件仓库 --> <profiles> <profile> <id>dev</id> <repositories> <repository> <id>myrepo</id> <name>My Repository</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </repository> </repositories> </profile> </profiles> <!-- 激活的配置文件 --> <activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles> </settings> ``` 这个配置文件中包含了如下信息: - 全局配置:配置本地仓库路径、交互模式、是否离线以及插件组。 - 服务器配置:配置 Maven 访问服务器的用户名和密码。 - 镜像配置:使用阿里云镜像加速 Maven 仓库的下载。 - 配置文件仓库:配置一个自定义的 Maven 仓库。 - 激活的配置文件:激活 `dev` 配置文件,使得 Maven 使用自定义的仓库。 你可以根据自己的需要修改这个配置文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值