您的位置:首页 > 其它

maven使用入门介绍

2011-10-09 00:01 597 查看
1.maven的安装

Maven是一个Java工具,所以你必须安装Java环境。首先,下载Maven并解压到你选择的安装目录,例如在windows下的C:\maven,或者Linux下的/usr/local/maven。然后添加系统变量$M2_HOME和M2_HOME\bin到你的系统路径。具体地,变量名M2_HOME,值为C:\maven;变量名Path,值加上%M2_HOME%\bin。



在终端或者命令提示里输入以下指令:

mvn --version

这应该打印你安装的Maven的版本,例如:

Maven version: 2.0.10

Java version: 1.6.0_12

OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

2 下载所需插件
然后,在终端或者命令提示里输入以下指令:

mvn

这时,系统会下载maven运行所需的.jar文件到自动生成的默认路径为

C:\Users\Administrator\.m2\repository的文件夹中。

这个过程大概需要十几分钟。

3 创建一个项目

在你的命令行执行以下指令:

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

其中,groupid指包名,aartifactId指项目名,此行命令还用到Maven的原型(Archetype)。
当看到:[INFO] BUILD SUCCEDDFUL 就说明构建成功。
你将注意到此命令在当前目录创建了一个名为my-app的目录。

src/main/java目录包含项目源代码,src/test/java目录包含测试代码,而pom.xml为项目的Project Object Model,或者POM。

4.maven与eclipse
Maven项目是用项目对象模型(pom.xml)描述的。而eclipse项目的描述在文件.project和.classpath里。其中,.project描述项目如何编译而.classpath描述包依赖。理论上 .project和.classpath的信息在pom.xml里都有,只是格式的不同。Maven项目转为eclipse项目,实质上做的就是由pom.xml产生.project文件和.classpath 文件。

(1) 配置eclipse的classpath
eclipse需要知道Maven的本地仓库的路径。所以,类路径变量M2_REPO必须设置。在eclipse内定义一个新的classpat h变量:从菜单条,选择Window>Preferences,选择java>Build Path>Classpath> Variables中添加名为MAVEN_REPO的变量,指向C:\Documents and Settings\Administrator\.m2\repository。如果想让eclipse支持直接运行maven的goal,可以安装mavenide插件。

(2)

如果你有一个单模块的简单java项目,使用eclipse将十分简单。将maven项目转为eclipse项目,执行以下命令:

cd my-app

mvn eclipse:eclipse

查看目录会发现,my-app目录下生成了.project文件和.classpath 文件。这就是maven将pom.xml转为.project文件和.classpath 文件。而.classpath 里使用了变量 MAVEN_REPO.

如果你已经使用eclipse创建或者检出了项目,你只需在workspace中刷新项目。否则,你必须将项目导入eclipse工作空间(从菜单条选择File>Import>Existing Projects into Workspace)。

(3)
如果在开发的过程中,发现项目需要依赖更多的包。这是可以直接把包依赖加在pom.xml里,然后再运行以下命令:

mvn eclipse:eclipse

刷新一下eclipse项目(右键项目,选refresh)即可。最好不要直接在eclipse里修改Build Path,这样会反映不到pom.xml里去。

(4)反复运行mvn eclipse:eclipse有时会出现莫名其妙的错误,这时可以运行一下 mvn eclipse:clean 清一下环境,然后再运行mvn eclipse:eclipse就可以解决。

5.m2eclipse

6.maven构件tuscany sca java
下载源码后进入目录java/sca,运行命令mvn后就开始构件,需要挺长时间。
构建完成后运行mvn eclipse:eclipse,再用eclipse导入相应各个项目即可。
即:源码—mvn—> 构建—mvn eclipse:eclipse—> eclipse项目

7. maven原型
maven原型是maven项目模板工具集。
创建maven原型:



此命令创建一个名称为maven-archetype-tuscany-sca的maven原型。它以maven-archetype-archeytpe为原型。
对maven-archetype-tuscany-sca原型进行相应修改。包括文件结构、archetype.xml、pom.xml等。
执行mvn install即编译并安装maven-archetype-tuscany-sca的maven原型。
此后,maven原型maven-archetype-tuscany-sca就可以正式投入使用。运行如下命令,项目sca-sample会被创建。



举例说明:以一个maven原型库中的maven原型构建一个项目A,在A中加一个.composite文件,并构建为maven原型A。此后,以A为原型构建项目B,B中就有一个.composite文件。

常用命令为 :

mvn archetype:create :创建 Maven 项目

mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test : 运行应用程序中的单元测试
mvn site : 生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar
mvn eclipse:eclipse :生成 Eclipse 项目文件
mvn eclipse:clean:清除eclipse的一些系统设置

mvn idea:idea 生成idea项目

mvn jar:jar 只打jar包

mvn -Dtest package 组合使用goal命令,如只打包不测试

只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile (这里要特别注意 -skipping 的灵活运用,当然也可以用于其他组合命令)

生成项目
建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
生成 Eclipse 项目
普通 Eclipse 项目执行 : mvn eclipse:eclipse
Eclipse WTP 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0 ( wtp1.0 以上版本均可用)
pom.xml 文件基本节点介绍
<project > :文件的根节点 .

<modelversion > : pom.xml 使用的对象模型版本 .

<groupId > :创建项目的组织或团体的唯一 Id.

<artifactId > :项目的唯一 Id, 可视为项目名 .

<packaging > :打包物的扩展名,一般有 JAR,WAR,EAR 等

<version > :产品的版本号 .

<name > :项目的显示名,常用于 Maven 生成的文档。

<url > :组织的站点,常用于 Maven 生成的文档。

<de.ion > :项目的描述,常用于 Maven 生成的文档。

maven资料地址:

maven的安装、配置及使用入门: /content/4921332.html

《maven实战》 http://hzbook.group.iteye.com/group/wiki/2872-Maven-in-action maven常见问题问答: http://www.cnblogs.com/BigTall/archive/2011/03/23/1993253.html
问题分析:https://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: