`

关于maven的一些知识整理

阅读更多
1、构件的路径

坐标是构件的逻辑表示方式,而物理表示方式则是文件。构件所在的文件路径,是由GAV决定的

比如log4j:log4j:1.2.15,所在的仓库路径是:

%repository_path%/log4j/log4j/1.2.15/log4j-1.2.15.jar

其中%repository_path%是跟仓库的实现有关,构件自身的命名规则是:

groupId/artifactId/version/artifactId-version.packaging

2、超级POM的位置

超级POM在这个路径:%M2_HOME%/lib/maven-model-builder-3.0.jar,解压之后的org/apache/maven/model/pom-4.0.0.xml

3、远程仓库的认证

如果远程仓库需要认证信息的话,是在settings.xml文件里配置的,而不是在maven项目的pom.xml里配置,这主要是出于安全性的考虑

4、跟仓库相关的几个POM配置

以下配置都是在pom.xml设置的

获取依赖的远程仓库:
<repositories>
    <repository>
        <id />
        <name />
        <url />
    </repository>
</repositories>

获取插件的远程仓库:
<pluginRepositories>
    <pluginRepository>
        <id />
        <name />
        <url />
    </pluginRepository>
</pluginRepositories>

可以看到,插件仓库和依赖仓库的配置是很像的,只是元素名有点不同

构件部署的远程仓库:
<distributionManagement>
    <repository>
        <id />
        <name />
        <url />
    </repository>
    <snapshotRepository>
        <id />
        <name />
        <url />
    </snapshotRepository>
</distributionManagement>

5、镜像仓库

镜像仓库是在settings.xml里配置的,常见的用法是跟私服结合起来。将一个私服的地址,配置为所有远程仓库的镜像

6、生命周期阶段,与插件目标的关系

是多对多的关系。另外插件目标,不一定要绑定到生命周期的某个阶段上才能执行,也是可以独立运行的,比如mvn dependence:tree

7、插件配置的方法

第一种方法,是在命令行用-D参数配置,这种方法仅对当次操作有效。比如maven-surefire-plugin插件的test目标提供了skip参数,对应的表达式是${maven.test.skip}

那么可以在命令行输入,mvn install -Dmaven.test.skip = true

要注意的是,并不是所有的插件目标参数都提供表达式的,对于这种没有提供表达式的参数,就只能在pom文件里配置了

第二种方法,是在pom文件中进行插件全局配置
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>   
    </plugins>
</build>

第三种方法,是在pom文件中针对特定的插件任务来配置
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <executions>
                <execution>
                    <id />
                    <phase />
                    <goals />
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </execution>
            </executions>
        </plugin>   
    </plugins>
</build>

这个方法与第二个方法的区别在于,第二种方法配置的参数是全局的,而第三种方法只是针对某个任务的

8、pom.xml和settings.xml的一些元素

pom.xml:
<project>
    <properties />
    <dependencies />
    <build />
    <repositories />
    <pluginRepositories />
    <distributionManagement />
</project>

settings.xml:
<settings>
    <localRepository />
    <servers />
    <mirrors />
    <proxies />
    <profiles />
    <activeProfiles />
</settings>
分享到:
评论

相关推荐

    maven常用知识整理

    maven常用知识整理:项目依赖 多模块 WAR依赖 打包 热部署 maven-tomcat-plugin maven-jetty-plugin

    Maven知识总结LBY.pdf

    自己整理的Maven笔记,希望可以帮助大家

    maven基础知识

    maven的基础知识,很简单的知识,学习的时候整理的,入门可以看看

    maven详解.emmx

    将maven知识整理为详细的思维导图,均为学习过程中的知识整理,方便记忆和复习,内容非常详尽,建议收藏,也可以根据该导图学习maven相关知识

    Apache Maven 培训文档.doc

    Maven入门教程整理,用来介绍Maven的一些基础知识和使用方法。

    Maven知识整理

    Maven是一个项目管理工具,它包含了一个项目对象模型(ProjectObjectModel),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(DependencyManagementSystem),和用来运行定义在生命周期阶段...

    maven快速入门

    结合慕客网上视频的学习对maven知识点进行整理汇总。感觉很有用分享给大家

    Maven.docx

    这是我自己在学习过程中,整理的关于构建工具maven的知识点,包括基础概念、生命周期、聚合和继承、常用插件指令以及在项目中的使用。作为一个记录,同事也希望对正在学习这块的小伙伴有帮助吧,顺便赚点积分

    Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud实现自动化构建镜像与部署详解

    初衷想法:在学习过程中遇到比较有趣的问题、然而花了点心血和时间去整理,然而进行梳理出来一份文章比较完整有知识体系的DevOps自动化构建与部署工程文章,技术知识内容比较多,而且文章内容较长,然而分了几个章程...

    Maven 搭建SpringMVC+Hibernate项目详解

    本文主要介绍Maven 搭建SpringMVC+Hibernate的知识,这里整理了详细的资料,并附示例代码,有兴趣的小伙伴可以参考下

    JAVA核心知识点整理(有效)

    标记整理算法(Mark-Compact).................................................................................................. 28 分代收集算法 ..............................................................

    Oracle8i/9i数据库基础

    本讲稿(ORACLE8i 数据库基础)是作者在多年的工作和授课中的总结,主要包括两个部分,第一部分是ORACLE SQL*PLUS基础,主要讲述ORACLE 应用系统设计的基本知识和给出一些有用的实例;第二部分是介绍ORACLE PL/SQL知识...

    mavenjava源码-notebook:Java自学系列知识,包含Java基础、源码阅读、JVM、MySQL、Spring相关等

    maven java 源码 notebook -- Java自学系列知识 项目起源于自学Java过程中所做的300+系列笔记,点点滴滴的积累成就了本项目的体系结构... 随着我学习的不断深入,项目也在不断更新、完善中... 非常欢迎大家参与共建~...

    校园订餐系统,基于javaweb+SSM+maven实现.zip

    它包含了从基础到高级的完整知识体系,以及实际项目操作的全部流程。具体内容包括: 项目背景与目标:详细介绍了“系统管理”项目的起源、目的和核心功能。 技术栈概览:涵盖了Spring、SpringMVC、MyBatis等主流...

    Java随堂笔记

    本人结合自己所学的知识整理的,比较适合初学者。当然也适合巩固复习Java。 里面的在企业开发中会经常用到,属于必学或必了解的。

    亚信java笔试题-tech-knowledge:整理自己的一些githubstars项目和学习记录

    自己整理收集一些内容(努力成为终身学习者) 整理自己的一些 github stars项目 目录 java 库名 简述 分类 备注 Stars 高效的时间工具包 java 时间工具包 一个比较全的maven framework项目(各种例子和教程) 知识库 一...

    springboot需要学习的模块

    这是我整理的springboot需要学习的一些模块,可以根据这个进行springboot的基础知识,相关内容的学习。包括特点,整合的框架,maven等

    java版商城源码下载-Mystar:我的研究方向是javaWeb后端和网络安全。我根据自己的需要收集了一些项目,现在整理出来分享给大家。希望

    我的研究方向是javaWeb后端和网络安全,我根据我的需要收集了一些项目,现在进行整理并分享出来。希望对大家的学习能够有所帮助。这个库会根据我的学习进程不断地进行更新。 联系我 添加我的微信备注“Github”,回复...

    Learning-Notes:学习笔记

    maven netty Redis Spring Spring4新特性 Spring使用注意事项 Spring验证Validation SpringBoot 开发知识 相关技术名词 开发技术框架工具整理 架构知识 开发过程注意事项整理 常用开发技巧 数据库 数据库基础知识 分...

Global site tag (gtag.js) - Google Analytics