Maven2 的常用命令

文章出处:http://bakcom.iteye.com/blog/280604



Maven2的运行命令为:mvn,

常用命令为:

mvnarchetype:create:创建Maven项目

mvncompile:编译源代码

mvntest-compile:编译测试代码

mvntest:运行应用程序中的单元测试

mvnsite:生成项目相关信息的网站

mvnclean:清除目标目录中的生成结果

mvnpackage:依据项目生成jar文件

mvninstall:在本地Repository中安装jar

mvneclipse:eclipse:生成Eclipse项目文件

生成项目

建一个JAVA项目:mvnarchetype:create -DgroupId=com.demo -DartifactId=App

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

生成Eclipse项目

普通Eclipse项目执行:mvneclipse:eclipse

Eclipse WTP项目执行:mvneclipse: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生成的文档。
<description>:项目的描述,常用于Maven生成的文档。

在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。

目前<scope>可以使用5个值:

compile:缺省值,适用于所有阶段,会随着项目一起发布。

provided:类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。

runtime:只在运行时使用,如JDBC驱动,适用运行和测试阶段。

test:只在测试时使用,用于编译和运行测试代码。不会随项目发布。

system:类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

定义自己的结构

新建一个archetype项目:

mvnarchetype:create\
-DgroupId=cn.prof\
-DartifactId=prof-archetype\
-DarchetypeArtifactId=maven-archetype-archetype

主要的模板文件:archetype-resources/pom.xml

修改其中内容

修改META-INF/maven/archetype.xml中定义了相关的sources

安装此项目:mvninstall

执行下面的命令创建新目录的项目:

mvnarchetype:create -DgroupId=com.mergere.mvnbook \
-DartifactId=proficio-example\
-DarchetypeGroupId=com.xxx.mvn\
-DarchetypeArtifactId=prof-archetype\
-DarchetypeVersion=1.0-SNAPSHOT




目录说明

Maven2Directory

目录

二级目录

三级目录

四级目录

说明

pom.xml

Maven2的项目设置文件

src/

源码目录

main/

项目主体目录根

java/

源代码目录

resources/

所需资源目录

filters/

资源过滤文件目录

assemby/

Assembly descriptors

config/

配置文件根目录

webapp/

web应用目录

WEB-INF/

WEB-INF目录

test/

项目测试目录根

java/

测试代码目录

resources/

测试所需资源目录

filters/

测试资源过滤文件目录

site/

与site相关的资源目录

target/

输出目录根

classes/

项目主体输出目录

test_classes/

项目测试输出目录

site/

项目site输出目录



碰到的问题

<!---->1.<!---->当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.

解决办法:查看eclipse\readme\readme_eclipse.html里面有详细说明,在Selecting a workspace这一节

创建一个快捷方式,设定目标位置为D:\eclipse_jee\eclipse.exe -vm D:\Java\jdk1.5.0_10\bin\javaw

因为默认vm为jdk\jre\bin\javaw,直接改到jdk下,错误即可消除

<!---->2.<!---->使用命令mvneclipse:eclipse–Dwtpversion=1.0之后,导入的项目Project Facet的java还是1.4,而我Eclipse上设置的是5.0

解决办法:在pom.xml中plugins加入说明就可以了

Xml代码 复制代码
  1. <plugins>
  2. <plugin>
  3. <artifactId>maven-compiler-plugin</artifactId>
  4. <configuration>
  5. <source>1.5</source>
  6. <target>1.5</target>
  7. </configuration>
  8. </plugin>
  9. </plugins>
  1. <plugins><plugin><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.5</source><target>1.5</target></configuration></plugin></plugins>
Xml代码 收藏代码
  1. <plugins><plugin><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.5</source><target>1.5</target></configuration></plugin></plugins>

<!----><!----><!----><!---->

3. 在使用命令mvneclipse:eclipse 之后,import到Eclipse,然后在Eclipse项目上点右键,选择插件Maven>Enable Dependency Management后,会报重复引用依赖的错误
解决办法 :再执行mvneclipse:eclipse然后刷新Eclipse的项目,取消掉maven插件的引用依赖,错误就会消除

4. Failure executing javac, but could not parse the error:
编译器 (1.5.0_10) 中出现异常。 如果在 Bug Parade 中没有找到该错误,请在 Java Developer Connection (http://java.sun.com/webapps/bugreport ) 对该错误进行归档。请在报告中附上您的程序和以下诊断信息。谢谢您的合作。
java.nio.BufferOverflowException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值