Maven 入门

Maven 入门
-----------------

1.
官网
[url]http://maven.apache.org/[/url]

包依赖声明搜索
[url]http://mvnrepository.com/[/url]

2.
介绍

项目构建工具,继承自ANT.Maven的工作主要依赖插件来完成,它只是一个插件执行的框架.
Maven是一个Java 工具.

Maven配置级别:
项目级 - 项目级别pom.xml
安装级 - 一次性的Maven 安装配置
用户级 - 用户级别的配置

3.
仓库
[url]http://repo1.maven.org/maven2/[/url]
[url]http://repository.codehaus.org/[/url]
...

4.
插件

插件列表
[url]http://maven.apache.org/plugins/index.html[/url]
插件配置指导
[url]http://maven.apache.org/guides/mini/guide-configuring-plugins.html[/url]
插件兼容矩阵
[url]https://cwiki.apache.org/MAVEN/maven-3x-plugin-compatibility-matrix.html[/url]

构建插件
报表插件


5.
安装Maven3
5.1 下载
[url]http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0.3-bin.zip[/url]

5.2 配置环境变量
M2_HOME = E:\bisoft\apache-maven-3.0.2
PATH += %M2_HOME%\bin
MAVEN_OPTS = -Xms128m -Xmx 512m

5.3 验证安装

D:\>mvn -v
Apache Maven 3.0.2 (r1056850; 2011-01-09 08:58:10+0800)
Java version: 1.5.0_07, vendor: Sun Microsystems Inc.
Java home: E:\java\jdk1.5.0_07\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"


5.4 集成eclipse
5.4.1 eclipse下安装m2eclipse
[url]http://m2eclipse.sonatype.org/sites/m2e[/url]
[url]http://m2eclipse.sonatype.org/sites/m2e-extras[/url]

5.4.2 配置eclipse
eclipse.ini 添加JDK
-vm
E:\java\jdk1.5.0_07\bin\javaw.exe

不使用eclipse嵌入的MAVEN,添加外部MAVEN
Windows|Perferences|Installation|Embedded Maven|Add...|M2_HOME|打勾|应用|确定

6.
settings.xml

6.1 XSD
[url]http://maven.apache.org/xsd/settings-1.0.0.xsd[/url]

6.2 配置说明
[url]http://maven.apache.org/ref/3.0.3/maven-settings/settings.html[/url]

6.3 配置仓库
6.3.1 用户级别:settings.xml对当前用户有效
${user.home}/.m2/settings.xml

6.3.2 全局级别:settings.xml对全部用户有效
${M2_HOME}/conf/settings.xml

<settings>
...
<localRepository>E:/bisoft/apache-maven-3.0.2/repo</localRepository>
...
</settings>

6.4 配置仓库镜像
<settings>
...
<mirrors>
<mirror>
<id>repo1</id>
<mirrorOf>maven2</mirrorOf>
<name>maven2</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>codehaus</mirrorOf>
<name>codehaus</name>
<url>http://repository.codehaus.org/</url>
</mirror>
</mirrors>
...
</settings>

6.5
version : 版本
groupId : 惟一的组织标识,一般是域名
artifactId :惟一的组织内包标识,一般是JAR包名
name : 项目名称
url : 包站点


7.
官方文档
[url]http://maven.apache.org/ref/3.0.3/[/url]

8.
创建项目

mvn archetype:generate -DgroupId=cn.bisoft.java.app -DartifactId=s2si -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=true

cd s2si

s2si
|-- pom.xml // 文档对象模型 Maven项目级配置文件
`-- src
|-- main
| `-- java
| `-- cn
| `-- bisoft
| `-- java
| `-- app // 源代码目录
`-- test
`-- java
`-- cn
`-- bisoft
`-- java
`-- app // 单元测试代码目录


Archetypes 工程类型:
maven-archetype-archetype 示例
maven-archetype-j2ee-simple J2EE简单示例
maven-archetype-portlet Portlet
maven-archetype-webapp Web应用

9.
打包工程
mvn package

打包生命周期:

1.validate 验证
2.generate-sources 生成源代码
3.process-sources 处理源代码,如过滤
4.generate-resources 生成资源文件
5.process-resources 处理资源文件,如过滤
6.compile 编译

运行测试代码:

java -cp target/s2si-1.0-SNAPSHOT.jar cn.bisoft.java.app.Sis2Test


运行生命周期:

validate: 验证
compile: 编译
test: 单元测试
package: 打包
integration-test: 集成测试
verify: 确认
install: 安装,安装JAR到本地仓库
deploy: 部署

另外:
clean: 清理
site: 生成站点

重新打包:
mvn clean dependency:copy-dependencies package


生成站点:
mvn site


只编译不运行:
mvn test-compile


10.
支持JDK1.5源代码
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>

11.
增加依赖:


<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

scope
test: 测试时有效
compile: 编译时有效


12.
部署配置

<distributionManagement>
<repository>
<id>bisoft-repository</id>
<name>MyCompany Repository</name>
<url>scp://repository.mycompany.com/repository/maven2</url>
</repository>
</distributionManagement>

<servers>
<server>
<id>repository</id>
<username>bisoft</username>
<privateKey>/path/to/identity</privateKey>
<passphrase>my_key_passphrase</passphrase>
</server>
</servers>





13.
安装第三方包到本地仓库

mvn install:install-file -Dfile=<path-to-file>
-DgroupId=<group-id> \
-DartifactId=<artifact-id>
-Dversion=<version>
-Dpackaging=<packaging>


14.
依赖解析
原则一:
最短依赖路径
同一路径取最先声明

查看依赖树:
mvn dependency:tree


15.
查看OS变量
mvn help:system
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值