5分钟熟悉Maven
根据官网文档翻译,其中有些地方翻译的不够好,还望指导。
来自:Http://azhp.blog.163.com
安装
Maven是个Java工具,所以你必须首先安装Java以便进行下一步操作.
首先, 下载 Maven然后按照以下说明进行设置. 然后,在终端或者命令提示符输入以下:
mvn --version
接下来应该会输出你安装的Maven的版本, 比如:
Maven version: 2.0.8
Java version: 1.5.0_12
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
根据你的网络设置, 你也许想要进行额外的详细设置. 如果需要则根据Maven的设置指导来进行详细设置.
创建一个新工程
在你的命令行,执行以下的Maven目标命令:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果你正好已经安装了Maven,那么在第一次运行的时候可能会花费少许时间。这是因为Maven正在下载最近的运行时参考(插件jar包和别的文件)到你的本地资源仓库。在命令成功运行之前你可能需要一段时间。这是因为在你下载完成之前对远程服务器的连接可能会超时。但是别担心,其会通过不同的方法来完成下载。
你将会注意到命令“create goal” 创建了一个与给定的项目命令一样的文件夹。
进入到这个文件夹下面 。
cd my-app
进入这个文件夹后你将会发现一套具有标准结构的项目。
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
这个文件夹 “src/main/java” 包括了项目的源代码,而在这个 “src/test/java”文件夹则包括了测试的代码,以及这个项目的项目对象模型pom.xml, 或简称 POM。
项目对象模型--- POM
Pom.xml这个文件是这个项目中Maven的核心设置。这个设置文件包括了构建该项目时所需要的所有的构建信息。项目对象模型是一个强大的及复杂的模型,但并不是所有的复杂问题都需要深刻的了解。这个项目的项目对象模型—POM如以下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
我刚才做了什么呢?
你执行了Maven的目标命令 archetype:create,并把多种参数传给刚才那个目标命令。命令前缀archetype 是一个插件其中也包括了一项目标命令。如果你对Ant熟悉的话,你可能会熟悉这些任务。这个目标命令会在一个典型的项目结构的基础上创建一个简单的项目。可以很清楚的说出一个插件其实就是一个目标命令的集合所完成的普通目的功能。例如插件“jboss-maven-plugin”,它的目的功能就是“处理多个jboss的任务”。
构建项目
mvn package
命令行将会输出多个活动日志,就像如下所示:
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Thu Oct 05 21:16:04 CDT 2006
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------
你可能会注意到第二次不像第一次执行命令(archetype:create) 时那么复杂,而仅仅只有一个参数- package 。本次并不仅仅是一个目标命令,而是一个构造阶段的完成。这个阶段在构建生命周期的过程中的多个有序的阶段中是其中的一个步骤, Maven将会执行每一个阶段直到达到一个特定的阶段 。比如:如果我们执行了编译这个阶段那么各个阶段都得到执行,实际上是执行了:Unlike the first command executed (archetype:create) you may notice the second is simply a single word - package. Rather than a goal, this is a phase. A phase is a step in the build lifecycle, which is an ordered sequence of phases. When a phase is givenwill execute every phase in the sequence up to and including the one defined. For example, if we execute the compile phase, the phases that actually get executed are:
1. 验证validate
2. 生成代码generate-sources
3. 处理代码process-sources
4. 生成资料generate-resources
5. 处理资料process-resources
6. 变异compile
你可以测试最新编译以及打包好的Jar文件,命令如下:
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
然后将会输出该主类执行的结果:
Hello World!
运行Maven工具
Maven 的分段执行计划
虽然没有一个比较综合统一的执行计划,但这这些是最常见的生命周期执行阶段。
验证:验证该项目是正确的以及运行这个项目所必须得信息是有效的。
编译:编译该项目的源代码。
测试:使用适当的单元测试框架来测试编译后的代码。测试的时候并不需要对代码进行打包或者是部署。
打包:根据描述的格式来对编译后的代码进行打包,例如jar包。.
集成测试:为了能够使集成测试运行,那么我的在处理或者是部署包文件的时候如果需要就得设置运行时环境变量。
确定功能:运行及检查每一个功能包都是有效及达到质量认证的。
安装:安装包到本地的资源库中,以方便别的该项目对此包的应用。
部署:最后把环境变量整合好后,把最终版本的副本上传到远程资源仓库中,继而与别的开发者及项目来共享资源。
还有两个特殊的Maven的生命周期并不在其默认的生命周期中。它们是:
清除:清除掉之前创建的版本。
日志记录:为这个项目生产一个每一步操作的日志记录。
每一个阶段实际上正好就是每一个目标命令所达到的结果。执行的每个阶段的具体目标取决于项目的封装类型。比如:如果项目的类型是jar包那么就执行命令“jar:ja”,而如果执行命令“war:war”的话,那么这个项目的类型肯定就是war包型。
如果你对其关注的比较详细的话会注意到,那些阶段和目标命令的执行都是具有一定顺序的。
mvn clean dependency:copy-dependencies package
这条命令将会清除该项目上次的编译结果、类型的依赖、以及打好包的工程(当然是打包时所建立的子项目包)。
自动生成站点
mvn site
这个阶段会生基于项目中项目对象模型的信息而生成一个站点。你可以根据构建的日志记录到“target/site”下面查看。
总结
我们希望那个这个快速上手概述可以让你对Maven的接触中有更大的辅助作用。不过要注意这只是一个快速上手的指导。现在你可以为下一步详细、强大的功能的使用奠定了前期的具体概念。请查看Maven的入门指南。
分享到:
相关推荐
本文将基于中文版官方文档的翻译,引导您在5分钟内熟悉Maven的基本操作流程,包括安装、创建新项目、理解项目对象模型(POM)以及构建项目。 #### 安装Maven Maven作为一款Java工具,其安装前提条件为已安装Java环境...
本指南将带您快速熟悉Maven的基本操作,只需5分钟即可基本掌握。 **1.1 Maven的安装** Maven作为一款Java工具,因此首先需要安装Java环境。具体步骤如下: - **Java安装**:确保您的系统已安装Java。您可以访问...
在本项目中,"JAVA自动调用谷歌翻译接口实现txt文档翻译.zip" 是一个使用Java编程语言实现的项目,它允许开发者通过调用谷歌翻译(Google Translate)的API来自动翻译TXT格式的文档。这个项目可能包含了一个或者多个...
同时,文档也提醒读者,在阅读手册之前,要熟悉Spring和MyBatis这两个框架及其相关术语。 第二章“入门”介绍了MyBatis Spring的基本概念和安装方法。MyBatis-Spring的整合能够让代码和Spring无缝对接,Spring将会...
标题 "xwiki-rendering-transformation-icon-3.3.1.zip" 暗示这是一...如果你计划使用这些资源,你需要了解和熟悉这些技术,如Java、Spring、Thymeleaf和Maven的基本操作,并阅读相关文档来更好地理解和利用这些项目。
在中文版面检测中,YoloV8模型可能经过了训练,能够识别出标题、段落、列表、表格等不同的文本组件,这对于理解和处理中文文档非常有用,例如在文档检索、自动摘要、机器翻译等应用中。 Java作为跨平台的编程语言,...
虽然中文网上的文档可能会比官方文档稍微滞后,但它能够为不熟悉英文的开发者提供翻译过的参考资料。官方文档和中文网的对应资源可以通过简单的域名替换访问,例如,官网的-tech-stack资源可以通过将.github.io替换...
然后下载OFBiz最新稳定版本的源代码,并根据官方文档配置OFBiz运行环境。 2. 创建项目:在OFBiz中创建新应用通常涉及在`ofbiz-component.xml`文件中定义新的组件。在组件目录下,你可以定义服务、实体、页面、国际...
- 翻译可能存在不准确之处,建议参考官方英文文档以获取最准确的信息。 - 在使用过程中,定期检查Hybris的更新和补丁,以确保系统的安全性和稳定性。 - 熟悉Hybris的数据模型和模块结构,这将有助于开发和维护。 - ...
在开始URCap开发之前,教程列出了必要的先决条件,这可能包括对UR机器人硬件和软件的基本了解,编程语言的基础知识(如Java,因为URCap是基于Java的),以及熟悉使用开发环境(如Eclipse或IntelliJ IDEA)进行项目...
如果你不擅长编程,也可以通过编写或翻译文档来帮助项目。 通过上述介绍,我们可以看到Mycat不仅是一个强大的数据库中间件,还是一个充满活力的开源社区。无论是初学者还是资深开发者,都能在这个项目中找到自己的...
首先,这位工程师拥有本科背景,专业是电子信息工程,具备良好的英语阅读和翻译能力,能轻松应对技术文档的英文阅读。他的工作经验丰富,涵盖JAVA开发、投资顾问和讲师等多个领域,这展示了他在不同行业和角色中的...
6. **Maven或Gradle构建**:由于源码是Java项目,它可能使用Maven或Gradle作为构建工具,研究构建脚本可以深入理解这些工具如何管理依赖和构建过程。 7. **API接口调用**:在源码中,开发者可能会调用NetBeans提供...
9. BabelLanguagePack-technology.packaging.mpc-zh_4.3.0.v20140623031152.zip:这可能是关于Maven插件的汉化包,MPC(Maven Project Creator)帮助用户创建和管理基于Maven的项目。 10. BabelLanguagePack-...
在学习Java编程时,了解这些基本概念和技术是至关重要的,同时,熟悉Java的开发工具,如Eclipse或IntelliJ IDEA,以及持续集成/持续部署(CI/CD)工具,如Maven或Gradle,将有助于提升开发效率和代码质量。...
它包含了Eclipse3.5所有界面元素的中文翻译,使开发者可以在熟悉的母语环境下进行开发工作,提高工作效率并降低学习曲线。对于那些不熟悉英文界面的开发者来说,这是一个非常实用的功能。 安装Eclipse3.5中文语言包...
- **官方文档**:阅读官方文档是最直接的方式,它包含了框架的所有特性和使用方法。 - **源码阅读**:通过阅读框架的源码,可以更好地理解其实现机制和设计理念。 - **实践应用**:在项目中实践使用框架,不断积累...
Eclipse中文包提供了一套完整的中文语言包,将菜单、提示和帮助文档等全部翻译成中文。 - 使用中文包可以提高工作效率,降低学习曲线,尤其是对于初学者和不熟悉英文的开发者。 3. **汉化安装步骤** - 下载...