【常用命令】
mvn validate //验证工程是否正确,所有需要的资源是否可用
mvn compile//编译项目的源代码
mvn test-compile  //编译项目测试代码
mvn test  //使用已编译的测试代码,测试已编译的源代码
mvn package    //已发布的格式,如jar,将已编译的源代码打包
mvn integration-test //在集成测试可以运行的环境中处理和发布包
mvn verify //运行任何检查,验证包是否有效且达到质量标准
mvn install //把包安装在本地的repository中,可以被其他工程作为依赖来使用
mvn deploy //在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享
mvn generate-sources //产生应用需要的任何额外的源代码,如xdoclet
mvn archetype:generate //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile//编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn clean //清除目标目录中的生成结果
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn eclipse:eclipse //生成 Eclipse 项目文件


【生成项目】
JAVA项目 mvn archetype:generate -DgroupId=com.demo -DartifactId=App
web 项目 mvn archetype:generate -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+可用)
eclipse->file->import->General->Existing Projects into Workspace
Window->Preferences->Java->Build Path->Classpath Variables
New Name 命名:M2_REPO
路径:本地的 maven 类库地址(%USER_HOME%/.m2/repository)


【pom.xml 基本节点】
<project> 根节点
<modelversion> pom.xml 使用的对象模型版本
<groupId> 创建项目的组织或团体的唯一 Id
<artifactId> 项目唯一Id, 项目名
<packaging> 打包扩展名(JAR、WAR、EAR)
<version> 项目版本号
<name> 显示名,用于生成文档
<url> 组织站点,用于生成文档
<description> 项目描述,用于生成文档
<dependency>之<scope> 管理依赖部署


<scope> 可使用 5 个值:
compile 缺省值,用于所有阶段,随项目一起发布
provided 期望JDK、容器或使用者提供此依赖。如servlet.jar
runtime 只在运行时使用
test 只在测试时使用,不随项目发布
system 需显式提供本地jar,不在代码仓库中查找
【库版本选择】
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>[1.1,)</version>
</dependency>
表达式 含义
(,1.0] version<=1.0
[1.2,1.3] 1.2<=version<=1.3
[1.0,2.0) 1.0<=version<2.0
[1.5,) 1.5<=version
(,1.1),(1.1,) version!=1.1
【定义自己的结构】
1、新建 archetype 项目(模板项目):
mvn archetype:genera -DgroupId=org.simple -DartifactId=simple -DarchetypeArtifactId=maven-archetype-archetype
2、修改主要模板文件:archetype-resources/pom.xml
1)修改 META-INF/maven/archetype.xml 中相关的 sources
2)安装此项目:mvn install
3、根据模板项目创建新项目:
mvn archetype:generate
-DarchetypeGroupId=org.simple\
-DarchetypeArtifactId= simple \
-DarchetypeVersion=1.0-SNAPSHOT 


【安装私有库】
1、复制 mylib-1.2.3.jar 到本地代码库
2、编写 mylib-1.2.3.pom 文件:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mylib</groupId>
<artifactId>mylib</artifactId>


生成项目 


           建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.test -DartifactId=App 


           建一个 web 项目 : mvn archetype:create -DgroupId=com.test -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp 


解释: 


           archetype 是一个内建插件,它的create任务将建立项目骨架 

           archetypeArtifactId 项目骨架的类型 

           groupId 项目的java包结构,可修改 artifactId 项目的名称,生成的项目目录也是这个名字,可修改 




可用项目骨架有: 

           maven-archetype-archetype 

           maven-archetype-j2ee-simple 

           maven-archetype-mojo 

           maven-archetype-portlet 

           maven-archetype-profiles (currently under development) 

           maven-archetype-quickstart 

           maven-archetype-simple (currently under development) 

           maven-archetype-site 

           maven-archetype-site-simple 

           maven-archetype-webapp 




web项目目录结构的布局: 


详见http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html 


Eclipse导入已存在的maven项目 : 

在导入之前需要在项目根目录下面执行如下命令: 

普通 Eclipse 项目执行 : mvn eclipse:eclipse Eclipse 

web 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0 

然后通过Eclipse的maven插件中选择导入已存在的maven项目即可将其导入。 


学习过程中的问题: 


安装好m2eclipse插件后一般会报错误:Eclipse is running in a JRE, but a JDK is required Some Maven plugins may not work when importing projects or updating source folders. 


解决方式为: 

        1.创建一个Eclipse的启动的快捷方式,在其启动路径后添加-vm 你的JDK安装路径\bin\javaw.exe 

        2.在eclipse的安装目录下打开eclipse.ini中的-vmargs上面添加-vm 你的JDK安装路径\bin\javaw.exe        


eclipse导入创建的web项目问题 

在用eclipse导入web项目时 如果eclipse安装了wtp插件在会自动将其转化为eclipse认得到的web项目,在项目上面点击右键run as 的run on server可以用,但是当eclipse没有安装wtp插件时run on server则不用,此时的解决方式为用命令行切换到项目的根目录然后执行 mvn eclipse:eclipse –Dwtpversion=1.0即可解决。

原文:http://blog.sina.com.cn/s/blog_4a4c200d0101fynd.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐