第一范文网 - 专业文章范例文档资料分享平台

Maven学习总结

来源:用户分享 时间:2025/5/31 3:28:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Maven学习总结

(一下红色字体表示重要信息或者自己写的备注)

1.maven的安装。

1.需要安装JDK,使用java -version查看,或者使用javac确认。 2.http://maven.apache.org/download.html 3.网站下载最新版本的maven。

4.window系统,需要配置环境变量:

M2_HOME=c:/Program Files/maven-2.0.9 PATH=%PATH%;%M2_HOME%/bin 5.使用mvn -v命令查看mvn是否已经正确安装

2.maven help命令。

1.help:active-profiles : 列出当前构建中活动的Profile(项目的,用户的,全局的)。 2.help:effective-pom : 显示当前构建的实际POM,包含活动的Profile。

3.help:effective-settings : 打印出项目的实际settings, 包括从全局的settings 和用户级别settings 继承的配置

4.help:describe : 描述插件的属性。它不需要在项目目录下运行。但是你必须提供你想要描述插件的 groupId 和 artifactId。

3.创建一个maven项目。(在dos环境下用命令新建了一个项目)

我们用最基本的archetype 来创建一个入门项目的骨架。这个插件的前缀是―archetype‖,目标为‖create‖。 命令行中输入:

C:/Documents and Settings/Administrator>mvn archetype:create

-DgroupId=cn.vicky.maven.ch01 -DartifactId=simple -DpackageName=cn.vicky.maven 将在C:/Documents and Settings/Administrator文件夹下创建,一个simple文件夹。且会,自动创建一个App.java的文件! simple/ simple/pom.xml /src/

/src/main/

/main/java /src/test/

/test/java

Maven Archtype 插件创建了一个与artifactId 匹配的目录——simple。这是项目的基础目录

每个项目在文件pom.xml 里有它的项目对象模型 (POM)。这个文件描述了这个项目,配置了插件,声明了依赖。

我们项目的源码了资源文件被放在了src/main 目录下面。在我们简单Java 项目这样的情况下,这个目录包含了一下java 类和一些配置文件。在其它的项目中,它可能是web 应用的文档根目录,或者还放一些应用服务器的配置文件。在一个Java 项目中,Java 类

放在src/main/java 下面,而classpath 资源文件放在src/main/resources 下面。 我们项目的测试用例放在src/test 下。在这个目录下面,src/test/java 存放像使用JUnit 或者TestNG这样的Java 测试类。目录src/test/resources 下存放测试classpath 资源文件。

4.构建一个项目。

在3中,我们使用maven创建了一个项目,你会希望构建并打包这个应用。想要构建打包这个应用,在包含pom.xml 的目录下运行mvn install。

mvn install (首先,需要进入要构建的项目,与pom.xml同级目录!)(maven将自动下载pom.xml中配置的依赖的jar包,且还会编译项目中的java文件,生成了一个.jar的文件,如:simple-1.0-SNAPSHOT.jar,其中1.0-SNAPSHOT为创建项目时默认的版本号——可以更改)

此时,simple文件夹下,拥有了另外一个文件夹,target。 运行!

C:/Documents and Settings/Administrator/simple>java -cp target/simple-1.0-SNAPSHOT.jar cn.vicky.maven.App Hello World!

5.简单的项目对象模型(project Object Model)

当Maven 运行的时候它向项目对象模型(POM)查看关于这个项目的信息(pom.xml是一个让Maven 跑起来的文件)。

[xhtml]view plaincopy

(运行这个项目)

?

xmlns:xsi=\?

xsi:schemaLocation=\

http://maven.apache.org/xsd/maven-4.0.0.xsd\> ? ? ? ? ? ? ?

4.0.0

cn.vicky.maven.ch01 simple 1.0-SNAPSHOT jar

?? simple

?? http://maven.apache.org ??

??

?? UTF-8 ?? ??

?? ??

?? junit ?? junit ?? 3.8.1 ?? test ?? ?? ??

运行mvn help:effective-pom,可以查看一个大得多的POM,它暴露了Maven 的默认设置

1.前一章节总结

我们用两种类型的命令行参数运行了Maven。第一条命令是一条单个的插件目标,Archetype 插件的create 目标。Maven 第二次运行是一个生命周期阶段 –install。为了运行单个的Maven 插件目标,我们使用mvn archetype:create 这样的语法,这里archetype 是一个插件标识而create 是目标标识。

我们通过命令行参数-DgroupId=org.sonatype.mavenbook.ch03和

-DartifactId=simple 向Archetype 插件的create 目标传入了groupId 和artifactId 配置参数。我们也向create 目标传入了packageName 参数,它的值为org.sonatype.mavenbook。如果我们忽略了packageName 参数,那么包名的默认值为org.sonatype.mavenbook.ch03。

2.maven的生命周期

生命周期的阶段被特地留得含糊,但是大部分项目具有:单独的定义为验证(validation),测试(testing),或者发布(deployment)!

3.Maven 仓库(Repositories)

当你第一次运行Maven 的时候,你会注意到Maven 从一个远程的Maven 仓库下载了许多文件。在Maven 中,构件和插件是在它们被需要的时候从远程的仓库取来的。初始的Maven 下载包的大小相当的小(1.8 兆),其中一个原因是事实上这个初始Maven 不包括很多插件。

浏览中央Maven 仓库http://repo1.maven.org/maven2/

4.Maven 依赖管理 (Dependency Management)

一个复杂的项目将会包含很多依赖,也有可能包含依赖于其它构件的依赖。这是Maven 最强大的特征之一,它支持了传递性依赖(transitive dependencies)。

假如你的项目依赖于一个库,而这个库又依赖于五个或者十个其它的库(就像Spring或者Hibernate 那样)。你不必找出所有这些依赖然后把它们写在你的pom.xml 里,你只需要加上你直接依赖的那些库,Maven 会隐式的把这些库间接依赖的库也加入到你的项目中。Maven 也会处理这些依赖中的冲突,同时能让你自定义默认行为,或者排除一些特定的传递性依赖。

在Maven 中一个依赖不仅仅是一个JAR。它是一个POM 文件,这个POM 可能也声明了对其它构件的依赖。这些依赖的依赖叫做传递性依赖,Maven 仓库不仅仅存贮二进制文件,也存储了这些构建的元数据(metadata),才使传递性依赖成为可能。

项目A 依赖于项目B 和C,项目B 依赖于项目D,项目C 依赖于项目E,但是项目A 所需要做的只是定义对B 和C 的依赖。当你的项目依赖于其它的项目,而这些项目又有一些小的依赖时(向Hibernate, Apache Struts 或者Spring Framework),传递性依赖使之变得相当的方便。Maven 同时也提供了一种机制,能让你排除一些你不想要的传递性依赖。

5.站点生成和报告 (Site Generation and Reporting)

另外一个Maven 的重要特征是,它能生成文档和报告。在simple 项目的目录下, 运行以下命令:mvn site

将在target文件夹下,创建site文件夹,里面为项目的报告! 生成了一个这样的网站:

搜索更多关于: Maven学习总结 的文档
Maven学习总结.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4llcs9yvbw9sc9l3qcy8_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top