搜档网
当前位置:搜档网 › Maven 使用指南

Maven 使用指南

Maven 使用指南
Maven 使用指南

Maven 使用指南(1): 概述

觉得在介绍Hibernate 之前有必要先介绍一下Maven的使用。下面摘自维基百科。

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

简单的说Maven主要用来编译Java项目,使用XML来描述项目的组成部分:代码,资源及依赖关系。其主要目的是:

简化编译(build)过程

提供一个标准的编译系统

通过高质量的项目信息

为良好开发过程提供指南

平稳过渡添加新功能

下面给出一个简单的Maven项目的POM(Project Object Model)文件,pom.xml 的作用类似makefile 或是

https://www.sodocs.net/doc/055632799.html, 的 .prj .sln 文件

双击代码全选

1 2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

4.0.0

com.mycompany.app

my-app

1.0

junit

junit

3.8.1

test

具体含义将在后面详述。

在学习Maven之前,请先下载Maven https://www.sodocs.net/doc/055632799.html,/download.html

目前版本为 3.0.4.

为方便起见,请将下载后的Maven 的bin 目录添加到系统的Path 目录。这样在任何地方都可以键入mvn 命令行。测试一下你安装好的Maven ,可以在命令行键入 mvn -version

注: Maven 需要Java支持,因此需要在系统中先安装JDK https://www.sodocs.net/doc/055632799.html,

Maven 使用指南(2): 第一个例子Hello World

在介绍第一个例子之前,先说一下为什么要使用Maven 或是使用Maven 有什么好处。

管理多个.jar 文件。在开发Java 应用时常常需要使用大量的第三方开发包,这些开发包大多数是.jar 的形

式提供,比如使用spring 框架,通常的用法是下载这些.jar 文件,然后添加到Java 下面中。部署时也要一些打包这些.jar 文件。使用Maven ,在POM 中描述所需引用(依赖的)的库,在编译,发布,部署时Maven 会自动下载或本地寻找所需库文件。因此使用Maven 通常需要有网络连接。

管理Java 项目的依赖和版本,Java 依赖的库有不同的版本,提供在POM 文件指定所引用库的版本号,Maven

自动帮助管理这些依赖关系及其版本。

使用标准的项目结构,开发和测试人员可以使用标准的项目目录结构。

Maven 定义了项目开发的几个标准步骤:编译,发布,单元测试及部署以帮助项目开发。

在下载安装好Maven ,我们就可以创建第一个项目。

在命令行下输入

mvnarchetype:generate 第一次运行时,Maven 会下载所需库文件,这需要一些时间

双击代码全

1 2 3 4 5 6 7 8 9 10 11

此时Maven 提示选择 archtype ,简单的讲archtype 指所需创建Java 项目的类型,

1. 这里我们使用缺省的类型 217:

217: remote ->org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which co 2. 使用缺省的新创建项目版本6: 1.1

3. 输入项目GroupId. 项目的GroupId 一般可以认为是项目的包名称,比如com.pstreets.mavendemo

4. 输入项目的artifactId,项目的artifactId 可以认为对于项目的主类名。比如HelloWorld.

5. 输入项目的version: 缺省为1.0-SNAPSHOT ,标识项目打包到1.0-SNAPSHOT.jar

6. 输入package ,可以使用GroupId 同样的包名称

Maven 则创建项目HelloWorld ,具有如下项目结构:

为方便起见,使用Eclipse 将这个项目导入到Workspace, File->Import->Maven->Existing Maven Projects

Maven创建的文件几引用的库如下:

可以看到Mavan创建了两个目录main和test 分别对应项目的代码和测试代码。

打开项目的pom.xml

双击代码全选

2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21 4.0.0

com.pstreets.mavendemo

HelloWorld

1.0-SNAPSHOT

jar

HelloWorld

https://www.sodocs.net/doc/055632799.html,

UTF-8

junit

junit

22

23

24

25

3.8.1

test

可以看到刚才输入的,和,实际上Maven使用这三个值来唯一指定一个项目。引用一个库文件也是通过这三个

值来确定所引用的库及其版本好,比如本例引用最新的junit 库版本为3.8.1. 此时假定junit还需引用其它库,Maven自动管理而无需在pom文件中指定。

创建好项目中,可以打开main 中的App.java 和 test目录中的AppTest.java 看一下:

App.java

双击代码全选

1 2 3 4 5 6 7 8 9

10

11

12

13

package com.pstreets.mavendemo;

/**

* Hello world!

*

*/

public class App

{

public static void main( String[] args )

{

System.out.println( "Hello World!" );

}

}

AppTest.java

双击代码全选

1 2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21 package com.pstreets.mavendemo;

import junit.framework.Test;

import junit.framework.TestCase;

import junit.framework.TestSuite;

/**

* Unit test for simple App.

*/

public class AppTest

extends TestCase

{

/**

* Create the test case

*

* @paramtestName name of the test case */

public AppTest( String testName )

{

super( testName );

}

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

/**

* @return the suite of tests being tested

*/

public static Test suite()

{

return new TestSuite( AppTest.class );

}

/**

* Rigourous Test

Maven 使用指南(8): 使用Maven管理多个项目

可以使用Maven来管理多个项目,首先是添加一个父pom.xml 文件,在所需管理项目的上一级,还是以hibernate tutorial 项目为例:

其中父pom.xml 的packaging 必须为 pom 类型

双击代码全选

1 2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

xmlns="https://www.sodocs.net/doc/055632799.html,/POM/4.0.0"

xmlns:xsi="https://www.sodocs.net/doc/055632799.html,/2001/XMLSchema-instance">

4.0.0

org.hibernate.tutorials

hibernate-tutorials

4.1.6.Final

pom

Hibernate Getting Started Guide Tutorials

Aggregator for the Hibernate tutorials presented in the Getting Started Guide

basic

annotations

entitymanager

envers

true

org.hibernate

hibernate-core

4.1.6.Final

compile

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

org.slf4j

slf4j-simple

1.6.1

compile

junit

junit

4.10

compile

com.h2database

h2

1.2.145

compile

false

central

Maven Repository Switchboard https://www.sodocs.net/doc/055632799.html,/maven2

never

false

central

Maven Plugin Repository

https://www.sodocs.net/doc/055632799.html,/maven2

....

81

82

83

...

此时可以把需管理的项目的共用的dependencies ,plugin 移动到这个父pom.xml ,然后使用modules 添加

到父pom.xml 中。

修改子项目的pom.xml ,添加一个parent 元素。比如 basic 项目的 pom.xml

双击代码全选

1 2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27 project xmlns="https://www.sodocs.net/doc/055632799.html,/POM/4.0.0"

xmlns:xsi="https://www.sodocs.net/doc/055632799.html,/2001/XMLSchema-instance"

xsi:schemaLocation="https://www.sodocs.net/doc/055632799.html,/POM/4.0.0

https://www.sodocs.net/doc/055632799.html,/xsd/maven-4.0.0.xsd">

4.0.0

org.hibernate.tutorials

hibernate-tutorials

4.1.6.Final

../pom.xml

hibernate-tutorial-hbm

Hibernate hbm.xml Tutorial

Hibernate tutorial illustrating the use of native APIs and hbm.xml for mapping met

true

如果使用eclipse IDE ,就更简单了,直接通过modules 来管理模块:

Maven源配置教程

Maven安装及基本使用 1、安装maven首先到maven官网下载maven安装包, Maven下载地址, 下载apache-maven-3.3.9-bin.zip文件 > 由于当前系统为windows, 所以下载apache-maven-3.3.9-bin.zip文件; 如果您使用的系统为unix类系统请下载apache-maven-3.3.9-bin.tar.gz文件 > > 注: 由于maven是依赖于jdk的, 所以在安装maven前需要提前准备好jdk环境。jdk的安装方式不是本文的重点, 所以本文不进行展开说明了。 右键解压apache-maven-3.3.9-bin.zip文件到当前目录中即可 >如果您使用的为unix环境, 以CentOS为例, 使用以下命令进行解压 tar -zxvf apache-maven-3.3.9-bin.tar.gz 到此maven已经安装完成。 为了之后使用方便,所以需要将maven添加到环境变量中, 配置方式: 右键 "我的电脑" -> 选择 "属性" -> 选择 "高级系统设置" -> 选择 "高级" 标签页 -> 选择 "环境变量" 在新打开的窗口中的"系统变量"中新建变量名为"MAVEN_HOME", 变量值为 maven解压后的路径, 例如: E:-maven-3.3.9 然后编辑环境变量PATH, 在PATH的环境变量值的尾部添加";%MAVEN_HOME%", 一路确认后即添加成功。注: windows中多个环境变量的值需要用";"分隔 unix系统中环境变量的配置方式, 以CentOS为例: 使用以下方式为当前用户添加maven的环境变量打开~/.bashrc文件并在文件末尾添加以下内容 vim ~/.bashrc MAVEN_HOME=/opt/apache-maven-3.3.9 PATH=$PATH:$MAVEN_HOME/bin export MAVEN_HOME PATH 保存并退出, 并使用下面的命令使新添加的环境变量立即生效

Maven常用命令

一,Maven常用命令: 1. 创建Maven的普通Java项目: 1、mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2、mvn archetype:generate 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp 3. 反向生成 maven 项目的骨架: mvn archetype:generate 4. 编译源代码: mvn compile 5. 编译测试代码: mvn test-compile 6. 运行测试: mvn test 7. 产生site: mvn site 8. 打包: mvn package 9. 在本地Repository中安装jar: mvn install 10. 清除产生的项目: mvn clean 11. 生成eclipse项目: mvn eclipse:eclipse 12. 生成idea项目:

mvn idea:idea 13. 组合使用goal命令,如只打包不测试: mvn -Dtest package 14. 编译测试的内容: mvn test-compile 15. 只打jar包: mvn jar:jar 16. 只测试而不编译,也不测试编译( -skipping 的灵活运用,当然也可以用于其他组合命令): mvn test -skipping compile -skipping test-compile 17. 清除eclipse的一些系统设置: mvn eclipse:clean 18.查看当前项目已被解析的依赖: mvn dependency:list 19.上传到私服: mvn deploy 20. 强制检查更新,由于快照版本的更新策略 mvn clean install-U 21. 源码打包: mvn source:jar 或 mvn source:jar-no-fork mvn compile与mvn install、mvn deploy的区别 1.mvn compile,编译类文件 2.mvn install,包含mvn compile,mvn package,然后上传到本地仓 库 3.mvn deploy,包含mvn install,然后,上传到私服

maven常用命令

maven常用命令 生命周期阶段以及对应的目标 https://www.sodocs.net/doc/055632799.html,/anonymas/blog/item/08384d44975c91036a63e527.html maven标准目录结构 https://www.sodocs.net/doc/055632799.html,/anonymas/blog/item/a1e849f6c85aff64dcc474eb.html Profile定义/系统与环境变量列表 https://www.sodocs.net/doc/055632799.html,/anonymas/blog/item/da847e109a1e805bf919b861.html POM参考以及POM最佳实践 https://www.sodocs.net/doc/055632799.html,/anonymas/blog/item/c4b604aba1eae3f61f17a2a8.html 用来查找某个制品的maven路径 https://www.sodocs.net/doc/055632799.html,/ maven官方plugin列表 https://www.sodocs.net/doc/055632799.html,/plugins/index.html mojo项目的plugin的列表 https://www.sodocs.net/doc/055632799.html,/plugins.html Maven手册的地址 https://www.sodocs.net/doc/055632799.html,/books/maven-book/reference_zh/public-book.html https://www.sodocs.net/doc/055632799.html,/books/maven-book/reference/ 官方POM文件完整参考 https://www.sodocs.net/doc/055632799.html,/ref/2.2.1/maven-model/maven.html 官方settings文件完整参考 https://www.sodocs.net/doc/055632799.html,/settings.html 官方依赖机制介绍 https://www.sodocs.net/doc/055632799.html,/guides/introduction/introduction-to-dependency-mechanism. html mvn archetype:generate列出所有可用的模板供选择并创建 mvn dependency:analyze使用Maven Dependency插件进行优化 mvn dependency:resolve已解决依赖的列表 mvn dependency:tree项目的整个依赖树 mvn install -X查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件

Maven常用命令

Maven常用命令 1、mvn clean compile 说明:clean 清理输出目录/target,compile 编译项目主代码到target/classes。 执行mvn clean compile命令的结果: E:\Java学习\Workspace\myProject>mvn clean compile [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building myProject 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ myProject --- [INFO] Deleting E:\Java学习\Workspace\myProject\target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ myProject--- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ myProject --- [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! [INFO] Compiling 1 source file to E:\Java学习\Workspace\myProject\target\classes [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.218s [INFO] Finished at: Thu Aug 29 21:32:54 CST 2013 [INFO] Final Memory: 5M/11M [INFO] ------------------------------------------------------------------------ E:\Java学习\Workspace\myProject> 2、mvn clean test 说明:test调用Maven执行测试 E:\Java学习\Workspace\myProject>mvn clean test [INFO] Scanning for projects... [INFO]

Maven 常见命令简介

Maven 命令行选项 说明: 1、使用-选项时,和后面的参数之间可以不要空格。而使用--选项时,和后面的参数之间必须有空格。如下面的例子: $ mvn help:describe -Dcmd=compiler:compile $ mvn install --define maven.test.skip=true 2、有些命令行选项是从Maven2.1才有的。 定义属性 -D,--define 定义系统属性 这是最常用到的定制Maven插件行为的选项。 获得帮助 -h,--help 显示帮助信息 如果你要寻找特定插件的可用目标和参数信息,请参考Maven Help 插件。 使用构建剖面(profile) 要从命令行激活一个或多个构建剖面,使用下面的选项: -P,--activate-profiles 被激活的,用逗号分隔的剖面列表 显示版本信息 要显示Maven版本信息,在命令行里,使用下面选项中的一个。 -V,--show-version 显示版本信息后继续执行Maven其他目标。 -v,--version 显示版本信息。 这两个选项输出相同的版本信息,但-v选项在打印版本信息后会中断Maven处理。如果你想让Maven版本信息出现在构建输出的开始处,你应该使用-V选项。如果你正在持续构建环境里运行Maven,并且你需要知道特定构建使用了哪个Maven版本,-V选项就可以派上用场。 离线模式运行 -o,--offline 离线模式工作 该参数可以阻止通过网络更新插件或依赖。 使用定制的POM或定制的Settings文件 如果你不喜欢pom.xml文件名、用户相关的Maven配置文件的位置或者全局配置文件的位置,你可以通过下面的选项定制这些参数。 -f, --file 强制使用备用的POM文件

maven常见问题问答(超全面)

1.前言 Maven,发音是[`meivin],"专家"的意思。它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven,所以对maven进行了一些深入的学习。写这个学习笔记的目的,一个是为了自己备忘,二则希望能够为其他人学习使用maven 缩短一些时间。 2. maven概要 首先我把maven的概念快速的梳理一下,让我们快速地建立起一个比较精确的maven应用场景。 2.1 maven不是什么 读书时候要先限定范围,避免一些有害的遐想。要说maven不是什么,我们可以从如下几个要点来展开 1.maven不是ant,也不是make。 我们以前接触的构建工具,需要写一些详细的步骤,比如:compile project1/src/*.java 等类似的语句。这些语句正是我们使用ant和 make所要编写的东西。maven采用了"约定优于配置"的方法,一些开 发常用的操作和步骤已经固化在maven中,所以使用者不再需要去编 写那些烦人的语句了。同时,maven内置了开发流程的支持,它不仅能够编译,同样能够打包、发布,也能够一气呵成做完这些所有的步骤。 2.maven不是ivy 依赖管理是maven的功能之一,虽然很多人包括我以前都是只用它的依赖管理功能,但是要深入运用的话,我们就可以看到更多的内容。更重要的是,maven在依赖关系中加入了scope的概念,进一步细化了依赖关系的划分。 2.2 maven是什么 maven将自己定位为一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西: 1.版本 maven有自己的版本定义和规则 2.构建 maven支持许多种的应用程序类型,对于每一种支持的应用程序类型都定义好了一组构建规则和工具集。 3.输出物管理 maven可以管理项目构建的产物,并将其加入到用户库中。这个功能可以用于项目组和其他部门之间的交付行为。

Maven的配置和使用

Maven的配置和使用 1、下载和安装maven 注:在使用之前,应首先安装JDK。 #可以去共用目录中下载,下载完后解压到指定的目录中,如C:\Program Files\apache-maven-2.2.0 #配置环境变量:1)MAVEN_HOME: 你安装的Maven的目录,如C:\Program Files\apache-maven-2.2.0 #在Path 中加入%MAVEN_HOME%\bin 配置完之后,在命令窗口中使用mvn –version 会出现如下信息 此时,maven已经安装配置好了。 2、使用maven来构建项目,从源代码编译成二进制项目文件 用maven对项目打包,比如用svn下载项目从 svn://10.0.0.58:8000/java/materias/poc/maven/core/,下载到指定的目录,比如放在 E:\workspace\java\materias\poc\maven\core目录下 项目的结构如下: 包括src源代码目录,unit test源码目录,以及配置文件目录resources 打开命令窗口,用cd命令转到项目所在的目录下 运行mvn compile,假如下现如下的结果,则该命令运行成功。 该命令是用来编译所有的的(java)源文件,编译后生成所有的class文件放在根目录下的target\classes目录下,即如 除此之外,maven还有很多其他常用的命令方式,比如: *mvn test-compile //编译测试代码,比如编译test下的源文件,编译后生成的所有的class文件放在根目录下的target\test-classes目录下 *mvn test //运行应用程序中的单元测试,比如对以上的项目,测试生成的结果放在根目录下的 target\surefire-reports目录下, *mvn clean //清除目标目录中的生成结果delete target,即会清除生成的target目录

Maven2 基础教程

Maven2 基础教程(1) - 环境配置 目标 通过本文,您可以 ?了解Maven2 ?将Maven2安装到本地机 ?安装Maven的eclipse插件 ?在 SVN上下载一个项目,并使用Maven2编译、测试、安装、部属等 ?生成eclipse的项目文件,并使用eclipse的IDE编辑 ?在eclipse中使用Maven方式开发 准备 预备知识 本文假设您以掌握如下的知识 ?JDK 的安装及使用 ?eclipse 的安装及使用 ?简单的命令行方式 预备软件 在阅读本文的过程中,会使用下列软件,所有软件都附有下载连接地址 ?JDK : jdk-1_5_0_17-windows-i586-p.exe ?eclipse : eclipse-SDK-3.4.1-win32.zip ?Maven : apache-maven-2.0.10-bin.zip 安装软件 安装JDK JDK的安装,此处省略. JDK安装注意 JDK安装完成后请务必设置 JAVA_HOME 环境变量,否则maven2无法运行

安装eclipse eclipse 安装此处省略 安装Maven2 将刚才下载的包apache-maven-2.0.10-bin.zip解压到D:\maven2下,会出现如下目录结构 D:\maven2 +--bin +--boot +--conf +--bin 设置环境变量,在系统环境变量PATH中加入D:\maven2\bin,并且设置环境变量M2_HOME=d:\maven2开启命令行方式,输入 Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. e:\Velcros\velcro7.prototype>*mvn* [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] You must specify at least one goal. Try 'mvn install' to build or 'mvn --help' for options See https://www.sodocs.net/doc/055632799.html, for more information. [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: < 1 second [INFO] Finished at: Tue Mar 24 09:45:26 CST 2009 [INFO] Final Memory: 1M/2M [INFO] ------------------------------------------------------------------------ 配置Maven2使用公司内部插件仓库服务器 由于Maven2的安装包并不包括插件,所以在使用时会自动到网络上下载需要使用的插件以及依赖包等。将Maven配置为使用内部插件服务器,可以加快下载速度 Maven2的配置文件放在如下位置 $用户目录/.m2/settings.xml 和 $M2_HOME/conf/settings.xml,查找循序为 先查找 $用户目录/.m2/settings.xml,然后查找 $M2_HOME/conf/settings.xml。

Maven 环境的配置

Maven 环境的配置 首先要安装Jdk1.6 和Myeclipse7.5 ,至于怎么安装这两个东东,我就不详细说了。 2. 设置Maven的环境变量,基本上和设置Jdk环境变量相似。 首先设置MAVEN_HOME: 再加入Path 3. 修改”settings.xml” 文件,在这个文件中找到 d:/work这一行,进行修改。这一行代表了Maven的Jar包仓库的位置。work下放的都是项目所用到的jar包,每个Project 都可以共用一个work。

6. 建立Maven的project,File--new—other—Java Maven Project 7. 然后打开project里pom.xml文件, 4.0.0 maventest maventest jar 0.0.1-SNAPSHOT Maven Quick Start Archetype https://www.sodocs.net/doc/055632799.html, junit

mvn学习整理(配置+命令+Setting.xml+Pom.xml)

Maven环境变量配置: 变量名:M2_HOME 变量值:D:\bin\apache-maven-2.2.1 (安装路径) 在path值后面追加%M2_HOME%\bin; (注意要加分号) 测试: Mvn –version maven常用命令为: 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 项目文件 生成项目 建一个JA V A 项目:mvn archetype:create -DgroupId=com.demo -DartifactId=App 建一个web 项目:mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp archetype 是一个内建插件,他的create任务将建立项目骨架 archetypeArtifactId项目骨架的类型,DartifactId 项目名称 可用项目骨架有: maven-archetype-archetype maven-archetype-j2ee-simple maven-archetype-mojo maven-archetype-portlet maven-archetype-profiles maven-archetype-quickstart maven-archetype-simple maven-archetype-site maven-archetype-site-simple, and maven-archetype-webapp ------------------------------------------------------------------------------------------ Setting.xml 配置文件 localRepository:本地库存位置,jar包保存位置,默认${user.dir}/.m2/repository offline: true/false,如不想每次编译都去查找远程中心库,就设置为true,前提是已下载好包 Servers:配置特定的用户

常用Maven命令

常用Maven命令 Maven 参数 -D 传入属性参数 -P 使用pom中指定的配置 -e 显示maven运行出错的信息 -o 离线执行命令,即不去远程仓库更新包 -X 显示maven允许的debug信息 -U 强制去远程参考更新snapshot包 例如mvn install -Dmaven.test.skip=true -Poracle 其他参数可以通过mvn help 获取 maven常用命令 mvn clean 说明: 清理项目生产的临时文件,一般是模块下的target目录 mvn package 说明: 项目打包工具,会在模块下的target目录生成jar或war等文件 mvn test 说明: 测试命令,或执行src/test/java/下junit的测试用例. mvn install 说明: 模块安装命令 将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用 -Dmaven.test.skip=true 跳过测试(同时会跳过test compile) mvn deploy 说明: 发布命令 将打包的文件发布到远程参考,提供其他人员进行下载依赖 maven-eclipse-plugin插件 命令: mvn eclipse:eclipse 说明: 生成eclipse配置文件,导入到eclipse开放,如果是使用m2eclipse插件,则可以不用次命令.直接使用插件导入到eclipse进行开放 注:通过次命令生产的项目,需要在eclipse中配置M2_REPO的命令,指向你的本地仓库文件夹. mvn eclipse:m2eclipse 生成eclipse配置文件,该配置文件需依赖eclipse 中有m2eclipse -DdownloadSources=true 下载依赖包的源码文件 -Declipse.addVersionToProjectName=true 添加版本信息到项目名称中 mvn eclipse:clean 清除eclipse的项目文件 maven-jetty-plugin插件 命令: mvn jetty:run 说明: 可以直接用jetty的服务器运行 注:此命令只适用于war的模块,即web模块. maven-archetype-plugin 插件

mvn使用命令

相信maven1 大家都已经很熟悉了,具体maven能做什么,就不详细说了。个人觉得maven在开源项目中用的还是比较多的,公司内部,就不太清楚了。我以前的公司用过一段时间,不过后来就没有下文了。 与maven1 相比,maven2可算是几乎重写了,不过从速度来说应该更快。 主要的几个新特性包括:(详细参考 https://www.sodocs.net/doc/055632799.html,/developerworks/cn/opensource/os-maven2/index.html)1.更快、更简单 速度方面可以比上ant了 2.更少的配置文件 现在的配置文件只剩下了settings.xml和pom.xml了。 3. Plugin语言更换 语言开始支持java,BeanShell和ant 4. 提供了预定义的模版 这点是最有帮助的,用户可以自己定义自己的项目模版了,就像用appfuse一样生成项目结构5.生命周期的引入 在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。 6. 新增Dependency Scope 这点也比较重要,有些用于test范围的包,可以不用加入依赖了 7. 传递依赖,简化依赖管理 这是最为方便的,可以省了很多配置。如a 依赖b,b 依赖c 默认a也会依赖c。但是也会带来隐患,如版本冲突。不过maven 也已经考虑到了,可以使用exclusions来排除相应的重复依赖 介绍了那么多,现在切入正题,开始maven2 之旅: 首些下载需要的工具: maven2: https://www.sodocs.net/doc/055632799.html,/download.html 最主要的 maven-proxy:用来代理repository,使用本地库代替maven2的远程库 https://www.sodocs.net/doc/055632799.html,/ continuum:一个不错的持续整合工具,用于自动build。支持ant,maven https://www.sodocs.net/doc/055632799.html,/continuum/ svn:版本控制工具相信都已经配置了。 maven 用于eclipse的插件,在maven主站有下载,不错的插件。当然idea也有相应的插件 最后,http,服务器是必不可少的。用于内部开发使用。 可以使用apache ,或者jetty https://www.sodocs.net/doc/055632799.html,/ 安装: 安装maven2很简单,把下载来的maven包解开就行了。(目前我的配置都在win2003上,还没有应用于linux,所有所有的配置都针对windows).增加相应的环境变量m2_home=maven2的安装

Maven命令——打包的技巧

“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR包了,复杂点的例子是Maven官方下载页面的分发包,它有自定义的格式,方便用户直接解压后就在命令行使用。作为一款”打包工具“,Maven自然有义务帮助用户创建各种各样的包,规范的JAR包和WAR包自然不再话下,略微复杂的自定义打包格式也必须支持,本文就介绍一些常用的打包案例以及相关的实现方式,除了前面提到的一些包以外,你还能看到如何生成源码包、Javadoc包、以及从命令行可直接运行的CLI包。 Packaging的含义 任何一个Maven项目都需要定义POM元素packaging(如果不写则默认值为jar)。顾名思义,该元素决定了项目的打包方式。实际的情形中,如果你不声明该元素,Maven会帮你生成一个JAR包;如果你定义该元素的值为war,那你会得到一个WAR包;如果定义其值为POM(比如是一个父模块),那什么包都不会生成。除此之外,Maven默认还支持一些其他的流行打包格式,例如ejb3和ear。你不需要了解具体的打包细节,你所需要做的就是告诉Maven,”我是个什么类型的项目“,这就是约定优于配置的力量。 为了更好的理解Maven的默认打包方式,我们不妨来看看简单的声明背后发生了什么,对一个jar项目执行mvn package操作,会看到如下的输出: [INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ git-demo --- [INFO] Building jar: /home/juven/git_juven/git-demo/target/git-demo-1.2-SNAPSHOT.jar 相比之下,对一个war项目执行mvn package操作,输出是这样的: [INFO] --- maven-war-plugin:2.1:war (default-war) @ webapp-demo --- [INFO] Packaging webapp [INFO] Assembling webapp [webapp-demo] in [/home/juven/git_juven/webapp-demo/target/webapp-demo-1.0-SNAPSHOT] [INFO] Processing war project [INFO] Copying webapp resources [/home/juven/git_juven/webapp-demo/src/main/webapp] [INFO] Webapp assembled in [90 msecs] [INFO] Building war: /home/juven/git_juven/webapp-demo/target/webapp-demo-1.0-SNAPSHOT.war 对应于同样的package生命周期阶段,Maven为jar项目调用了 maven-jar-plugin,为war项目调用了maven-war-plugin,换言之,packaging 直接影响Maven的构建生命周期。了解这一点非常重要,特别是当你需要自定义打包行为的时候,你就必须知道去配置哪个插件。一个常见的例子就是在打包

Maven pom文件常用配置小结

Maven pom文件常用配置小结 什么是POM Project Object Model,项目对象模型。通过xml格式保存的pom.xml文件。作用类似ant 的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。 一个完整的pom.xml文件,放置在项目的根目录下。 4.0.0

maven说明

一.maven基本说明 1.maven说明: maven 这个单词来自于意第绪语,意味着知识的积累,最早在Jakarta Turbine项目中它开始被用来视图的简化构建的过程,当时有很多项目,它们的ant build 文件仅有细微的差别,而jar文件都是CVS来维护的,他们细微有一个标准的方法来构建这些项目,包括项目的清晰的定义以一种很方便的发布项目信息的方式,jar共享使用。 2.作用 是一个软件项目管理和构建的工具,基于POM(Project Object Model)项目对象模型的概念,maven 可以管理项目的构建,报告和文件从信息中心。 即管理项目的构建、报告和文档的软件项目管理工具,是基于POM(Project Object Model)项目对象模型. 3.解决问题 (1)jar 包冲突 (2)jar 包臃肿 (3)可以进行项目的高效测试 4.其他说明 apache基金会的tm级项目 官网:https://https://www.sodocs.net/doc/055632799.html,/ 二. maven 环境变量搭建 1.添加系统变量 1.1. 添加M2_HOME变量 M2_HOME=安装目录\apache-maven-3.3.9 1.2. 添加到M2_HOME到path变量 %M2_HOME%\bin 2.验证环境变量: 在dos窗口中输入:mvn -v 或者mvn -version 显示下图内容: 三.maven 目录介绍 bin:包含了maven 运行的脚本 boot: 类加载器框架maven 使用该框架加载自己的类库 conf: maven 配置文件信息 lib: 包含了maven 运行时所需的java 类库

安装与配置windows版maven与常见错误

安装与配置windows版maven(前提:先安装jdk): 1.到https://www.sodocs.net/doc/055632799.html,下载最新maven3.1.1并解压到D盘,并将解压目录改名为maven3 2.修改D:¥maven3¥bin¥mvn.bat,看脚本,在设置java.exe前设置JAVA_HOME(找到位置加上:set JAVA_HOME=d:¥jdk7) 3.打开命令窗口,输入d:¥maven3¥bin¥mvn --version,就可以看到maven信息. 4.输入d:¥maven3¥bin¥mvn help:system,就可以看到下载相关东东到库.默认的库位置在当前用户主目录的.m2目录,按ctrl+c可以终止下载. 5.更改本地库到e:/repository,在默认的库位置所在目录C:¥Users¥¥.m2,把repository删了,然后复制D:¥maven3¥conf的settings.xml到C:¥Users¥¥.m2,在setting节点加入e:/repository就OK,再次输入 d:¥maven3¥bin¥mvn help:system看结果 生成项目: d:¥maven3¥bin¥mvn archetype:generate -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.test -DartifactId=testjava -Dversion=1.0-SNAPSHOT d:¥maven3¥bin¥mvn archetype:generate -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.test -DartifactId=testweb -Dversion=1.0-SNAPSHOT 常见错误: 一..在Eclipse导入已存在工作空间的项目,出现

MVN常用命令

Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp 3. 编译源代码: mvn compile 4. 编译测试代码:mvn test-compile 5. 运行测试:mvn test 6. 产生site:mvn site 7. 打包:mvn package 8. 在本地Repository中安装jar:mvn install 9. 清除产生的项目:mvn clean 10. 生成eclipse项目:mvn eclipse:eclipse 11. 生成idea项目:mvn idea:idea 12. 组合使用goal命令,如只打包不测试:mvn -Dtest package 13. 编译测试的内容:mvn test-compile 14. 只打jar包: mvn jar:jar 15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile

( -skipping 的灵活运用,当然也可以用于其他组合命令) 16. 清除eclipse的一些系统设置:mvn eclipse:clean ps: 一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。 mvn -version/-v 显示版本信息 mvn archetype:generate 创建mvn项目 mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app 创建mvn项目 mvn package 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 mvn jetty:run 运行项目于jetty上, mvn compile 编译 mvn test 编译并测试 mvn clean 清空生成的文件 mvn site 生成项目相关信息的网站 mvn -Dwtpversion=1.0 eclipse:eclipse 生成Wtp 插件的Web项目 mvn -Dwtpversion=1.0 eclipse:clean 清除

相关主题