Maven实战笔记

【软件工具】`mvn clean package`、`mvn clean install` 以及 `mvn clean deploy` 之间的区别 用于仅打包项目。用于打包并安装项目到本地仓库。用于打包项目并将其部署到远程仓库。选择哪个命令取决于你需要执行的任务:是否需要在本地或远程仓库中共享你的项目。 阅读详情
AI摘要

本文深入解析Maven仓库管理,包括本地仓库、远程仓库、私服的配置与使用技巧,同时详细介绍了Maven生命周期各阶段的功能及插件绑定机制。

  • Maven仓库:

    • 本地仓库:默认配置完maven后,会在用户家目录下生成一个本地仓库,window系统的在 C:\Users\Administrator.m2\repository\放置本地仓库的构件。如果要自定义本地仓库:建议修改自己的settings.xml 文件,而不要把系统的maven settings.xml文件修改了,例如在 Linux 上,一个服务器我们配置了多个用户,如果我们修改了 M2_HOME (maven的安装目录)下的conf文件下的 settings.xml 文件,整台机器上所有用户都会受到该配置的影响,所以我们建立修改我们家目录下的settings.xml文件:

      • 复制 M2_HOME\conf\settings.xml 到 ~.m2\下,
      • 在~.m2\settings.xml中找到 localRepository 标签
      • <settings> <localRepository> d:\your local repo dir\</localRepository></settings>
        将自己的项目安装到本地仓库命令:mvn clean install注意这个 install 之前默认执行了那些操作,clean - compile - test - package - install
    • 远程仓库:Maven的中央仓库,第三方的中央仓库和我们自己搭建的私服;

      • 中央仓库在 maven-model-builder-3.5.0.jar 解压后的 \org\apache\maven\model下的 pom-4.0.0.xml中 配置了maven默认的中央仓库和插件仓库位置:
<repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories>

如何配置更多的中央仓库:在pom.xml中类似上面添加自己的第三方中央仓库,需要注意的是maven 自己默认的中央仓库的id是 central 如过我们自己配的第三方仓库的id 也为 central 就会覆盖了maven的中央仓库,这也在强调仓库 id的唯一性与重要性

<repositories>
    <repository>
      <id>jboss</id>
      <name>Jboss Repository</name>
      <url>https://repository.jboss.com/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

如果这个仓库需要认证,也就是提供用户名和密码,我们就需要在 settings.xml 文件而不是pom.xml文件中填写 server认证信息:举例

<servers>
    <server>
        <!-- id 必须和POM中需要认证的repository 元素id一致-->
        <id>jboss</id>
        <username>jbossRepo_user</username>
        <password>jbossRepo_pwd</password>
    </server>
</servers>

配置一个仓库的镜像: 何为镜像,自己和镜子中的自己,如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y中获取的构件,都能从它的镜像中获取。例如maven中央仓库 https://repo.maven.apache.org/maven2 在国内阿里云提供的镜像为:http://maven.aliyun.com/nexus/content/groups/public/
为什么要镜像,就像国内的免税店,一个字 快
如何配置镜像 settings.xml中

<mirrors>
    <mirror>
        <id>aliyunmaven</id>
        <name>aliyun maven mirror for central maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>
  • 私服:架构在企业局域网内的仓库服务,供局部网内的maven 用户使用,好处一个字 快,

这里写图片描述
将自己编写的项目发布到远程仓库,前面我们说了 mvn clean install会将编译好的jar文件建立到本地仓库,对于发布远程仓库:首先在 项目的 pom.xml文件中配置<distributionManagement>

<distributionManagement>
    <repository>
        <id>project-releases</id>
        <name>This is project release repository</name>
        <url>http://192.168.1.100/repositories/project-releases</url>
    </repository>
    <snapshotRepository>
        <id>project-snapshots</id>
        <name>This is project snapshot repository</name>
        <url>http://192.168.1.100/repositories/project-snapshots</url>
    </snapshotRepository>
</distributionManagement>
mvn clean deploy

Maven 声明周期与插件 Plugin:
引入 Juven Xu 的一段话,说的很生动很彻底:

  • Maven 的生命周期就是对所有的构建过程进行抽象和统一。这个生命周期包含了项目的 清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成等几乎所有构建步骤。也就是说,几乎所有项目的构建,都能映射到这样一个生命周期上。
  • Maven 的生命周期是抽象的,它只定义整个项目构建的过程,而每一步的实际工作是由插件 plugin来完成的。这和java的模板模式很像;
  • 模板方法模式在父类中定义算法的整体结构,子类可以通过实现或者重写父类的方法来控制 实际的行为,这样既保证了算法有足够的可扩展性,又能严格控制算法的整体结构。
package com.qian.dsgmodel;

public abstract class TemplateModel {

    public void build(){
        //清理
        clean();
        //初始化
        initialize();
        //编译
        compile();
        //测试
        test();
        //打包
        packagee();
        //集成测试
        integrationTest();
        //部署
        deploy();
    }

    protected abstract void clean();
    protected abstract void initialize();
    protected abstract void compile();
    protected abstract void test();
    protected abstract void packagee();
    protected abstract void integrationTest();
    protected abstract void deploy();
}

生命周期中的每个构建步骤Maven都为其绑定了默认的插件,例如 compiler过程是由 maven-compiler-plugin插件来完成的,自然,我们也可以为一个构建步骤绑定多个实现插件或者开发自己的插件。

1. Maven 拥有三套相互独立的生命中周期,分别为 clean, default,site.

三个生命周期是项目独立的,对于每一个生命周期包含的一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,例如,当用户调用 post-clean 时,pre-clean 和 clean 会依顺序执行然后在执行 post-clean。
default 生命周期定义了真正构建时所需要执行的所有步骤,它是所有生命周期中最核心的部分,主要包括:官方文档 Maven default

  • validate validate the project is correct and all necessary
    information is available. (验证项目是否正确,所有的必须的信息是否可用)
  • initialize initialize build state, e.g. set properties or create
    directories. (初始化构建声明,也就是,设置属性或者创建目录)
  • generate-sources generate any source code for inclusion in
    compilation. (生成任何一个在编译中包含的源码)
  • process-sources process the source code, for example to filter any values.(处理源码,例如过滤一些值)
  • generate-resources generate resources for inclusion in the package.(生成包中包含的主资源文件)
  • process-resources copy and process the resources into the destination directory, ready for packaging. (复制和处理资源文件到输出目录中,为打包做准备)
  • compile compile the source code of the project.(编译项目源码)
  • process-classes post-process the generated files from compilation, for example to do bytecode enhancement on Java classes.(处理从编译阶段成长的文件,例如在java classes文件上做一些子界面增强操作)
  • generate-test-sources generate any test source code for inclusion in compilation. (这个是针对测试类的和上面主类似)
  • process-test-sources process the test source code, for example to filter any values.
  • generate-test-resources create resources for testing.
  • process-test-resources copy and process the resources into the test destination directory.
  • test-compile compile the test source code into the test destination directory
  • process-test-classes post-process the generated files from test compilation, for example to do bytecode enhancement on Java classes. For Maven 2.0.5 and above.
  • test run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed.(使用合适的单元测试框架来运行测试类,对于打包和发布这些测试不是必须的代码)
  • prepare-package perform any operations necessary to prepare a package before the actual packaging. This often results in an unpacked, processed version of the package. (Maven 2.1 and above)(在进行实际打包前,执行任何一个打包所需的操作。这经常导致一个未打包,打包的处理版本)
  • package take the compiled code and package it in its distributable format, such as a JAR.(进行编译代码并将他们打包成发布所需的格式,例如一个jar文件)
  • pre-integration-test perform actions required before integration tests are executed. This may involve things such as setting up the required environment.(执行集成测试前所有的一些行为。这可能会调用一些东西,例如建立一个必要的环境)
  • integration-test process and deploy the package if necessary into an environment where integration tests can be run.(如果进行集成测试或者集成运行的环境中需要,就执行和发布这些包)
  • post-integration-test perform actions required after integration tests have been executed. This may including cleaning up the environment.(在执行集成测试完成后需要执行的行为,这可能包括清理运行环境等)
  • verify run any checks to verify the package is valid and meets quality criteria.(运行一些检查以验证包是否有效并符合质量标准。)
  • install install the package into the local repository, for use as a dependency in other projects locally.(把包安装到本地仓库,为本地的其他项目作为依赖使用)
  • deploy done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.(做一个集成或者可发布的环境,复制最终的包到远程仓库(私服)供其他的开发者或者其他的项目使用)
    (表达能力有限没有真正的翻译出源Englishi的含义,望包容一下)
2. 命令行与生命周期

我们用命令行执行 Maven命令时,要注意,三个生命周期(clean default site)是相互独立的,并且各个生命周期的阶段是有前后依赖关系滴。例如
执行mvn clean install: 改命令首先调用clean生命周期的 clean 阶段(在这个阶段会把clean 前面的 pre-clean 阶段自行执行了)然后执行default 生命周期中的 install 阶段,自然也会把在 default 生命周期 install 阶段之前的所有阶段都执行了。

3. Plugin 的作用是什么

Maven的核心仅仅定义了抽象的生命周期,具体的任务是交由插件完成的,插件以独立的构建形式存在,因此,Maven的核心发布包只不过4M左右,Maven 会在需要的时候自动去中央仓库下载使用插件,我们在 上面pom-4.0.0.mxl 中介绍默认的中央仓库时,也看到了它也配置了默认的中央仓库。并且每个插件具有多个功能,也就是说每个插件有多个目标,来干不同的事情,例如:我们可以在 http://maven.apache.org/plugins/index.html 查看 apache 提供的maven的插件,以及每个插件各自目标和怎么用都有说明;

这里写图片描述

这里写图片描述

4. Maven给我们内置绑定插件

我们需要注意以下几点:

  • maven的生命周期是抽象的,构建的每一个步骤都需要相应的插件来完成,如果如果某个阶段没有绑定相应的插件,那么这个阶段就不会有任何实际的行为,例如default 生命周期的 integration-test阶段没有绑定相应的插件,那么我们只执行 install 或者 deploy 阶段时,执行到 integration-test阶段时不会有任何实际行为;
  • 项目的打包类型会影响到构建的具体过程,因此default 生命周期的阶段和插件目标的绑定关系由项目的打包类型来决定的,打包类型可以通过 pom.xml packaging元素定义,可以再官网的 Welcome – Documentation – Introductions – the Build Lifecycle 下来各个打包类型所对应的生命周期与插件绑定的关系:

这里写图片描述

这里写图片描述

自定义插件绑定:例如创建项目的源码 jar 包:使用插件 maven-source-plugin 的 jar-no-fork 目标来完成,在pom.xml 中:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.0.1</version>
        <executions>
            <execution>
                <id>attach-sources</id>
                <phase>verify</phase>
                <goals>
                    <goal>jar-no-fork</goal>
                </goals>
            </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

周六一天美好回忆,昨天晚上调了个bug,贪玩了会,到1点了,早上不由自主的起晚了 9点了,大周六就原谅自己一把吧,今天没有什么安排,当然要开始最享受的方式了,最近在复习maven, 刚好前天买的《Maven实战》也到了,那还说啥,泡壶铁观音,关上门,开始看书吧,安静、惬意、留恋时间过得太快,早上看了书的前四章、介绍–安装–入门使用–背景案例;不知不觉的中午时间就到了,我也罪恶一把吧,泡了两包火鸡面加了一个蛋(ps: 受昨天晚上看奔驰小哥吃火鸡面的影响看他吃的那么好吃……..哎。。。。),继续续壶茶,迫不及待的看下面的内容,突然想到到了,我应该写个笔记,也好方便自己,如果能给朋友一点帮助,内心还是很高兴的(相逢何必曾相识,只因你给我点了个赞),尤其对我这种菜鸟,不应该是笨鸟,所以开始写了今天这篇博客,下午的内容大部分都在这篇博文中,不得不承认国内社区公认的 Maven 技术专家 Juven Xu写的书的确通俗易懂,又不失丰满;下午看了 第五章 坐标和依赖;第六章 仓库;第七章 生命周期和插件; 第八章 聚合和继承这部分内容还没写到博客呢,又到了吃饭时候,可恨,时间流的真么快。。。。最后真诚的感谢 Juven Xu写的这本书(虽然我也花了60大洋买的,但是写的确实还行)感谢apache maven这个模块的网站,写的很详细和负责,感谢这壶香茗,感谢毕夏的像梦一样自由。。。。。。

mvn clean install -> 【混淆、加密】源码 最近一段时间没有怎么写原著文章了,转载了不少文章,主要还是因为文章作者写的太好就直接摘抄了。本文算安全方面的应用,在工作过程中应该会有所遇到,主要就是关于程序员完成项目之后对源码的处理,像java开发中就会遇到,为了避免源码被反编译来揣测项目的业务原理,往往都会做一些操作,比如混淆源码【proguard】,如果隐藏方法体【classfinal】,还有直接加密jar包避免被工具直接看到的【xjar】,本文主要介绍这三种方式,接下来是截图和源码的展示,毕竟这是我写作的一贯作风主要还是为了大家更好的观看。 阅读详情

相关推荐

AI赋能软件测试:从冒烟测试到全流程智能化的效率革命

软件测试是确保软件质量的关键环节,其核心原理是通过预设用例验证系统功能是否符合预期。传统测试方法依赖人工编写和维护脚本,面临维护成本高、适应性差等挑战。随着人工智能技术的发展,特别是自然语言处理和计算机视觉的成熟,AI为测试领域带来了新的技术价值。通过让AI理解应用界面和业务逻辑,可以实现测试用例的智能生成、自主执行和结果分析,显著提升测试效率和覆盖率。在实际应用场景中,AI驱动的冒烟测试能够动态适应UI变化,自动分析失败日志,将测试人员从重复劳动中解放出来,专注于更复杂的质量策略设计。本文基于AI在冒烟测

weixin_28841265的博客 304

mvn clean install -Dmaven.test.skip=true -U作用是什么

mvn clean install -Dmaven.test.skip=true -U 清理项目生产的临时文件,一般是模块下的target目录。同时执行模块安装命令 将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用 -Dmaven.test.skip=true 跳过测试(同时会跳过test compile),而-U强制更新 mvn clean install -e -U -e详细异常,-U强制更新 $ mvn clean install 执行结果如下: ...

我真的睡不够 1万+

AD2428与SigmaStudio:从节点自动配置与EEPROM存储实战

本文详细介绍了AD2428 A2B收发器与SigmaStudio开发环境的集成应用,重点讲解从节点自动配置与EEPROM存储的实战流程。通过硬件连接、属性配置、数据导出及嵌入式系统集成等步骤,实现设备上电自启动,提升汽车音频系统的可靠性与部署效率。

g8f9d0s1a2的博客 650

maven的一些基本概念

文章目录仓库配置gav坐标mvn命令生命周期 仓库 远程仓库/中央仓库 本地仓库 私有服务器 常规项目开发中,会直接连接远程仓库或国内镜像仓库,在构建项目时会自动从远程仓库或镜像仓库下载依赖到本地仓库,如下图所示。 企业开发模式中,通常会搭建自己的私有服务器。私有服务器不仅保存了从中央仓库下载的依赖,也保存了企业内部自研的软件工具。企业内部员工开发项目时,会连接企业内部的私有服务器,从私有服务器上下载依赖以完成项目构建,如下图所示。 配置 全局配置文件settings.xml 项目配置文件pom.

richest_qi的博客 843

Ansys Lumerical + HFSS + optiSLang 三剑客:手把手教你优化行波MZM调制器(附完整参数配置)

本文详细介绍了如何利用Ansys Lumerical、HFSS和optiSLang三款工具构建自动化协同设计流程,以优化行波马赫曾德尔调制器(TW-MZM)的性能。通过参数化仿真、流程集成与元模型技术,该方案能高效解决多物理场耦合挑战,实现调制带宽、驱动电压等多目标的全局优化,显著提升光子集成芯片的设计效率与性能潜力。

weixin_29251131的博客 581

本体(Ontology)概述

认识本体        本体(Ontology)的概念源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体可以在语义层次上描述知识,可以看成描述某个学科领域知识的一个通用概念模型。德国学者Studer在1998年给出了本体的相关定义“本体是共享概念模型的形式化规范说明”。这个定义包含了四层含义:即共享(share)...

baijinswpu的博客 7万+

maven clean、install命令

1、新建maven项目 package com.maven; public class HelloWorld{ public String sayHello(){ return "hello world!"; } } 进入到maven项目根目录,执行mvn compile命令会在根目录生成target文件,如下图: 2、执行mvn clean可将根目录下生成的...

木子叶的奔跑 1万+

​​瑞芯微RK系列 vs 全志系列芯片:终极选型指南(2025版)​

​。

jinxi996611的博客 1万+

maven实战笔记1

maven实战笔记1 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:schemaLocatio...

BLF2 313

基于Spring Boot在线远程考试系统的设计与实现

结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。

ITbiyesheji的博客 1214

YOLOv10改进,YOLOv10添加DICAM,用于水下图像增强模块,以提高朦胧水下图像的质量、对比度和色偏

在水下环境中,成像设备会出现水浑浊、光衰减、散射和颗粒问题,导致图像质量低、对比度差和彩色图像有偏差。这给使用传统视觉技术进行水下状态监测和检查带来了巨大挑战。近年来,水下图像增强因其在提高当前计算机视觉任务在水下目标检测和分割中的性能方面发挥着关键作用而受到越来越多的关注。由于主要从自然场景构建的现有方法在提高色彩丰富度和分布方面存在性能限制,作者提出了一种新颖的基于深度学习的方法,即 Deep Inception 和 Channel-wise Attention Modules (DICAM),以提高朦

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 479

《Maven实战》 读书笔记

一、安装配置: 1、安装并配置好JDK; 2、从Apache下载适当版本的maven压缩包; 3、解压maven压缩包,放在适当位置,需要配置环境变量: M2_HOME:maven所在目录; PATH:%M2_HOME/bin; 还可以配置 MAVEN_OPTS,值为:-Xms128m -Xmx512m,调整mvn运行时内存。 二、安装目录分析: 1、bin:包含了mvn运行的脚本,其中mvn和...

fmasters的博客 217

【MT7628】固件开发-SDK4320添加MT7612E WiFi驱动操作说明

【MT7628】固件开发-SDK4320添加MT7612E WiFi驱动操作说明

wgl307293845的博客 2078

《Maven实战》 阅读笔记

无Maven不项目,这是我的口号,但是一直没有系统的去看书,前段时间把maven实战过来一遍做了些笔记,方便后面查阅 每个项目都有自己的坐标 groupId artifactId version packaging classifier install 安装在本地 deploy 打包发布到远端 依赖范围 范围类型有: 编译、测试、运行 三种classpath compile,默认...

纸上得来终觉浅,绝知此事要躬行 563

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

《Maven实战》学习笔记目录(转载)

下面是我在网上找到的一篇 《Maven 实战》学习笔记,博主是 琉璃仙境,他的博客主页是 http://suhuanzheng7784877.iteye.com/Maven3实战笔记01环境配置与使用入门 http://suhuanzheng7784877.iteye.com/blog/1066917Maven3实战笔记02坐标和依赖–1 说明:这节里面,作者示例了一个小的邮件发送系统,可以自己

李威威的博客 1177

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

《maven实战》笔记(1)----maven的初识

刚入职公司用maven进行项目管理,于是昨天下午开始看《maven实战》的pdf,感觉很好,作者写的很有条理。 下面是笔记,看书做笔记还是很有必要的,加强自己的总结。 什么是maven? MAVEN 是一个构建工具还是一个依赖管理工具和项目信息管理工具。它提供了中央仓库,能帮我们自动下载构件。 MAVEN 是用来管理项目的,清理、编译、测试、打包、发布,以及一些自定义的过程本身就是一件复杂...

weixin_30526593的博客 92

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Maven实战读书笔记

Maven实战读书笔记 什么是构建 编译、 运行 单元 测试、 生成 文档、 打包 和 部署 等过程称之为构建。 pom.xml Maven 项目 的 核心 是 pom. xml。 POM( Project Object Model, 项目 对象 模型) 定义 了 项目 的 基本 信息, 用于 描述 项目 如何 构建, 声明 项目 依赖 groupId、 artifactId 和 version ...

2019,人生非常重要的一年 470

《maven实战》笔记

参考文献:https://cloud.tencent.com/developer/article/1336559 《maven实战》、apache 什么是pom? pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关...

有问题联系我qq:270490096 320

《Maven实战》读书笔记

之前对Maven有些认识,通过这本书《Maven实战》一起系统的回顾一下,总结的东西不会很全面,但都是日常工作中最常用的。简介:maven翻译为“知识的积累”,基于项目对象模型(Project Object Model, POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。优点如下:简化了项目依赖管理,通过坐标来管理依赖jar包。 易于上手,对于新手可能一个”mvn c

天森爱自由 559

课程笔记:《Maven基础篇之Maven实战》

课程来源:动力节点《Maven基础篇之Maven实战》 Maven简介 传统开发项目的问题: 模块之间关系的管理 第三方功能的的管理 管理jar包的版本 管理jar文件之间的依赖 使用Maven: 管理jar文件 自动下载jar和相关的文档、源代码 管理jar直接的依赖 管理jar的版本 编译程序 测试 打包成jar或者war 部署项目 构建是项目的构建,构建是面向过程的,就是一些步骤,完成项目代码的编译、测试、运行、打包、部署,maven支持的构建包括有: 清理:把之前项目编译的东西删除掉,为新

fkuner的博客 296

maven实战笔记

maven实战笔记1. What is maven?2. 配置文件3. 入门4. Archetype5. 坐标6. 依赖依赖解调依赖排除依赖归类依赖优化7. maven仓库在pom中配置远程仓库远程仓库认证部署到远程仓库8. 镜像9. 生命周期三套周期10. 插件插件目标插件配置插件的仓库解析插件版本11. 聚合与继承聚合继承可继承的pom元素dependencyManagement插件管理 pl...

include_fight的博客 2763

《Maven实战》笔记整理

第一章:Maven简介 (1)何为Maven 构建工具,依赖管理工具,项目信息管理工具 提供免费的中央仓库 约定优于配置 (2)其他构建工具 IDE:如Eclipse,Idea Make:最早的构建工具,Makefile的语法 Ant:Another Neat Tool(另一个整洁的工具),最早用来构建Tomcat。与Maven类似,但是不提供依赖管理 第二章:Maven的安装和配置 (1)安装和配置 略 (2)配置文件 $M2_HOME/conf/settings.xml 全局范

qq_41157876的博客 1602

maven:《Maven实战》读书笔记

《Maven实战》读书笔记

Yal_insist的博客 1074
上一篇: Spring MVC简单执行流程
下一篇: dom4j
Coder-Qian
博客等级 码龄11年 63粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值