【手把手教你Maven】构建过程

简介:
转载自:http://www.cnblogs.com/xing901022/p/5002037.html

【手把手教你Maven】构建过程

Maven是一款进行 依赖管理、项目构建、信息管理 为一体的工具。

它不像Make具有复杂的命令、也不像Ant需要手动编写大量的重复代码就能进行项目的构建;

还能提供强大的依赖库管理,避免jar包混乱与冲突;

还可以方便的管理项目的信息、知识产权等内容。

本篇的写作目的在于帮助那些之前没有使用过,或者是对maven还没有太多概念的朋友,学会使用maven,利用maven进行项目的构建。

通过讲解Maven的下载、安装、编写、执行任务,快速体验Maven的工作模式与使用技巧…

下载

目前高版本的Eclipse已经集成了Maven,但是考虑到插件的稳定性,还是推荐使用自己安装的Maven(需要在Eclipse中进行绑定)。

手动安装需要在官网下载Maven,目前最新的版本是3.3.9:http://maven.apache.org/download.cgi

一般windows下的用户下载这个zip就可以了,如果要学习源码,可以下载src那版的。

安装

1 首先需要安装JDK,在命令行中输入java -version验证版本:

2 然后解压下载好的压缩包:

3 配置环境变量

在“环境变量”中配置:

M2_HOME:xxxx/apache-maven-3.3.9

在path中添加:";%M2_HOME%/bin"

4 在命令行中输入 mvn -v测试

编写

如果使用过Ant都知道Ant是通过build.xml执行构建任务的,Maven中是通过pom.xml来执行任务。

POM,project object model,即项目对象模型,它通过这个pom.xml描述一个项目的构建以及信息。

<?<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xinoo.test</groupId>
    <artifactId>first-maven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>First Maven Project</name>
</project>

第一行指定了文档的XML版本和编码

第二行即每个pom.xml的核心元素——project

project下面有几个子元素,这几个子元素一般是每个项目都会使用到的:

1 modelVersion  这个元素指定了POM的版本,Maven2或者Maven3 都只能是4.0.0

2 groupId 是项目组的ID,一般是com.公司组织名.项目名

3 artifactId 是该项目在项目组中的ID,比如当前的项目是项目组的一个代理项目,就可以叫做myproxy

4 version 是项目的版本号,用于维护项目的升级和发布

5 name 一般没有实际的用处,只是用于标识该项目

比较重要的参数是 groupId、artifactId、version,这三个属性确定唯一的一个项目。

执行任务

一般的Maven项目会包含这样一个目录树:

project
    |-src--main--java--你的源代码
    |    |--test----java--你的单元测试代码
    |-target--编译出的文件和jar包
    |-pom.xml--项目信息以及任务定义

因此我们在上面的pom.xml同级目录中,创建

src/main/java/com/xingoo/test/firstmaven 文件夹

然后再该文件夹中创建HelloWorld.java

package com.xingoo.test.firstmaven;

public class HelloWorld{
    public String sayHello(){
        return "Hello Maven";
    }
    public static void main(String[] args){
        System.out.println(new HelloWorld().sayHello());
    }
}

然后再pom.xml所在的目录中运行mvn clean compile命令:

会发现目录中多了一个target文件夹,文件夹中增加了两个文件夹:

其中classes中是java编译出的class文件、maven-status是依赖的compile插件。

参考

【1】最后的任务执行样例:百度云盘文件mvn1127.zip

【2】《Maven实战》:百度云盘文件Maven实战教程

目录
相关文章
|
5月前
|
Java 测试技术 Maven
Maven打包使用多线程加速构建过程
Maven打包使用多线程加速构建过程
808 0
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
50 1
|
4月前
|
自然语言处理 Java Maven
Maven 自动化构建
Maven自动化构建确保依赖稳定性。`bus-core-api(1.0-SNAPSHOT)`构建后,自动触发`app-web-ui`和`app-desktop-ui`的构建,两者均依赖bus-core-api的1.0快照版。 ``` 纯文本摘要: Maven自动化构建保证依赖项的稳定性:当`bus-core-api`的1.0-SNAPSHOT版本完成构建时,它会触发依赖它的`app-web-ui`和`app-desktop-ui`项目的构建,这两个项目都依赖`bus-core-api`的相同版本。
|
4月前
|
Java Maven Spring
如何使用Maven构建SpringBoot项目
如何使用Maven构建SpringBoot项目
|
4月前
|
Java API Maven
Maven 自动化构建
**摘要 (Markdown 格式)**: Maven自动化构建确保依赖稳定性。当`bus-core-api` (1.0-SNAPSHOT) 构建后,依赖它的`app-web-ui`和`app-desktop-ui`(均依赖bus-core-api的1.0快照)会自动触发构建,保证与最新核心API兼容。
|
4月前
|
XML Java Maven
Maven 构建配置文件
Maven构建配置文件用于定制不同环境的构建,如生产与开发。配置在`pom.xml`的`profiles`中,可通过命令行、设置文件、环境变量等方式激活。配置文件分项目级、用户级和全局级。例如,`env.properties`为默认,`env.test.properties`和`env.prod.properties`代表测试和生产环境。激活配置文件可影响如数据库URL等参数。示例中用AntRun插件展示配置应用,但实际配置文件功能不限于此。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括Clean(清除)、Default(构建)和Site(站点)三个阶段,用于项目构建与发布。Default生命周期含validate、compile、test、package、verify、install和deploy,确保代码编译、测试、打包和部署。Clean清除目标目录,Site生成项目文档。每个阶段由插件目标组成,如mvn clean package,先执行清理,再打包。
|
4月前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性:** 当`bus-core-api`(1.0-SNAPSHOT)构建后,依赖它的`app-web-ui`和`app-desktop-ui`自动触发构建。`app-web-ui`与`app-desktop-ui`都引用`bus-core-api`的1.0快照版本,实现版本同步。
|
5月前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性。当bus-core-api(1.0-SNAPSHOT)构建完成后,app-web-ui和app-desktop-ui这两个依赖它的项目自动触发构建,维持版本协调。**
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括clean(clean目标清理输出),default(validate到deploy执行编译、测试、打包、验证、安装和部署),site(site与deploy-site生成发布站点)。每个阶段由插件目标组成,如mvn clean package执行清理和打包。生命周期阶段按顺序执行,目标可在阶段外独立调用。

推荐镜像

更多
下一篇
无影云桌面