首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

maven 打的包在哪_maven打包流程学习「建议收藏」

(X)下的子工程,因为A是一个springboot项目,所以父工程X就把parent设置成了: org.springframework.boot spring-boot-starter-parent 2.0.1...于是我使用了这个打包插件: org.apache.maven.plugins maven-shade-plugin 3.1.1 package shade implementation=”org.apache.maven.plugins.shade.resource.ManifestResourceTransformer...很幸运的找到了这篇文章maven内部运行原理解析 具体细节我就不描述了,看到这里,我的疑问是,文章中提到,每一个plugin,都要有一个和表明该插件是在哪个阶段执行的哪个方法。...help:effective-pom和help:effective-settings最为有用,它们分别打印项目的有效POM和有效settings,有效POM是指合并了所有父POM(包括Super POM...此外,maven-help-plugin的describe目标可以帮助你描述任何一个Maven插件的信息,还有all-profiles目标和active-profiles目标帮助查看项目的Profile

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Maven打包之maven-shade-plugin

    打包是一个比较头疼的事情,默认maven打包的结果只包含项目本身的代码,如果要执行代码,还得带上依赖。maven-shade-plugin插件就能够帮我们把项目依赖的包也打进最终文件。...shade打包过程 shade插件绑定在maven的package阶段,他会将项目依赖的jar包解压并融合到项目自身编译文件中。...如果shade只有这一个功能,那它并不能够满足开发者的需求。因此,它提供了ResourceTransformer的接口,处理扫描到的资源文件,修改最终的输出结果,这个功能正是大家所需要的。...--只包含该项目代码中用到的jar,在父项目中引入了,但在当前模块中没有用到就会被删掉--> true...如果项目要求不能融合或者融合会出错,那么建议使用assembly插件打包。 参考 Apache Maven Shade Plugin maven-shade-plugin 简书

    17.1K30

    Maven-02

    环境Maven 是一个项目管理和理解工具,它主要服务于基于 Java 的项目。...Maven 主要关注于项目的构建、依赖管理和项目信息管理。它使用一个名为 POM(Project Object Model)的 XML 文件来描述项目的构建过程、依赖、插件等信息。...以下是 Maven 的一些核心概念和功能:项目对象模型(POM):POM 是 Maven 项目的核心,它是一个 XML 文件,定义了项目的构建配置、依赖、插件、项目信息等。...依赖管理:Maven 通过 POM 文件管理项目的依赖,可以自动下载和安装所需的库。...插件:Maven 插件可以扩展 Maven 的功能,例如编译源代码、运行测试、生成文档等。继承:Maven 允许项目继承另一个 POM 文件,这样可以在父 POM 中定义公共配置,子项目继承这些配置。

    15410

    Java EE7和Maven工程入门(2)

    在webapp子文件夹下我已经提前创建好了\web-INF\web.xml文件。可以跳过这个环节,因为maven插件可以帮我做这个工作。...我们根据这个布局然后添加一个非常简单的servlet java文件和很少的xml描述符。这才是真正的意图所在。...maven最爽的事情就是,war模块一些需要去构建的东西已经在这个特殊的父pom文件里面被预先定义和配置好了。但是这些东西是什么,maven将如何去使用它们?正如我们已经描述了Maven的全部约定。...当我们的项目有好几个war或者jar模块情况的时候,如果我们有一个父pom,并且我们已经为它定义了一个中央位置的插件和基本的配置,那么我们就没必要去在其他的那些war或者jar模块重新定义他们。...只有当其中的war或者jar模块需要特别对待的时候(例如,打包一些额外的东西或者有一个特殊的文件设计布局)。那么在这个项目部分我们需要重新定义插件和重写或者添加一些其他的东西。

    53120

    聊聊如何避免多个jar通过maven打包成一个jar,多个同名配置文件发生覆盖问题

    如果不进行处理,直接打包,就会出现同名配置文件覆盖的情况 本文就是要来聊聊当多个jar合并成一个jar,如何解决多个同名配置文件覆盖的情况 解决思路 通过maven-shade-plugin这个插件,利用插件的...这个插件的扩展配置,比maven-shade-plugin复杂一些,于是放弃。...扩展的思路 我并没采用直接修改maven-shade-plugin插件的方式,而是在maven-shade-plugin打包后的基础上,再进行插件定制。...和spring-factories-merge-plugin的执行生命周期都是相同阶段,比如都是在package时,则maven-shade-plugin放置顺序得在spring-factories-merge-plugin...比如版本占位符插件flatten-maven-plugin在dubbo和springboot都有看到使用。

    1.8K70

    spring-boot-starter大力出奇迹

    一、前言 ​  上篇文章我们已经聊了SpringBoot的启动过程中的各类扩展点,那么从http://start.spring.io上我们生成的demo项目中,到目前就剩下了maven工程的pom.xml...首先映入眼帘的是:标签,熟悉Maven的朋友都知道,这个标签用来定义要继承的父pom的信息,它用来定义SpringBoot项目可能用到的依赖和插件声明以及一些资源文件声明...依赖以及spring-boot-maven-plugin插件一样,父pom.xml的源码如下: 的父pom,作用类似,不再详解,感兴趣的可以自己去翻阅源码。...那么这样看来我们自己的SpringBoot项目中的pom.xml文件就剩下显眼的两个依赖以及一个插件了(没有指定版本号的原因前面已经解释了),那我们接下来就来聊一聊这些非常重要的spring-boot-starter

    97920

    DL4J实战之一:准备

    关于DL4J DL4J是Deeplearning4j的简称,是基于Java虚拟机的深度学习框架,是用java和scala开发的,已开源,官网:https://deeplearning4j.org/ 关于...作为《DL4J实战》系列的开篇,本文为后面的文章和实战做好准备工作,包含以下内容: 确定环境和版本信息 创建名为dl4j-tutorials的maven工程作为父工程,后面整个系列的代码都是dl4j-tutorial...的子工程 创建名为commons的子工程,这里面是一些常用的工具代码,例如下载数据集、绘图等 源码下载 本篇实战中的完整源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com...实战》系列源码的公用父工程 《DL4J实战》系列的源码都放置在同一个父工程下,除了管理代码方便,还可以将各个子工程的依赖库版本统一管理,接下来创建这个父工程; 新建名为dl4j-tutorials的maven...maven-plugin.version>1.4.0maven-plugin.version> maven-shade-plugin.version>2.4.3

    36420

    Maven - 统一构建规范:Maven 插件管理最佳实践

    以下是一些常用的 Maven 插件: Maven-clean-plugin:用于清除项目目录中的垃圾文件和临时文件。 Maven-compile-plugin:用于编译项目源代码,生成目标代码。...这些插件可以一起使用,以构建具有各种功能和依赖项的应用程序。 假设我们要创建一个名为my-project的 JAR 文件,其中包含项目中的源代码、依赖项和一些资源文件。...---- 看个 nacos的类似的配置 这段代码是在pom.xml中的标签内添加了一个maven-jar-plugin插件的配置。...https://maven.apache.org/plugins/maven-shade-plugin/ Shade 插件的功能更为强大,其提供了两个功能: 第一个即与 assembly 类似可实现依赖的打包编译...Shade 插件 - 标签 下面介绍一下 Shade 插件中各标签的使用。 artifactSet 通过 includes 标签可以指定需要一同打包编译的第三方依赖。

    1.6K30

    关于Maven的使用,这些你都了解了么?

    基于项目对象模型(POM)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档。 Maven的核心是一个插件执行框架, 所有工作都是通过插件完成的。.../apache/maven-deploy-plugin/ ) 除了这些默认流程的插件,我们针对Maven的工作机制也制作了自己的插件,如 授权系统抽取api.json文件的插件,如通过erm对象描述文件生成...Maven坐标也就是这三个元素 modules 节点,聚合子模块, 在多模块的项目中使用,用来定义子模块,一般多模块项目中,父模块的packaging都定义为pom ...plugin这个节点主要用来定义构建的插件,包括自定义和已经发布到中央仓库的。...依赖的JAR的版本使用属性控制 建议依赖别的jar时,不要写死jar的版本,通过properties节点定义的属性来控制,那么当你pom被别人依赖时,上层pom可以通过定义属性值覆盖父pom中属性来控制依赖的版本

    31660

    Java EE7和Maven工程入门(1)

    所以请记住,拥有并配置父pom文件是一件非常好的事情。在它里面,你会定义你所有依赖的jar包的版本,配置maven的插件,所有的子pom文件都会继承父pom的配置。...这里用来定义在应用的模块中可能会用到的依赖和各自的版本。在这一部分中,我们实际关注的是版本号,包含还是排除依赖是取决于子pom(也就是说它们是不会被自动添加到子pom中的)。它们的作用范围也是一样。...在这个部分定义所有maven插件的版本和通用的配置。这些插件在我们的应用配置和打包的过程中会被引用或者是使用到。下面的例子中,我定义了一个最基本的编译器插件。当然,我们还需要更多的插件。 ?...但是,一步一步的定义了一个干净并且具体的父pom文件,他将是我们在下篇文章中要做的剩余工作的基础。 学习的重点 标准的maven工程布局。 父pom文件。...dependencyManagement和pluginManagement的重要性。 资源 Maven3 Java EE 7指南 Maven工程的结构 父pom 什么是依赖管理 什么是插件管理

    61710

    Maven 极简教程「附」常用的 Maven 命令

    父(Super)POM 父(Super)POM是 Maven 默认的 POM。所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 包含了一些可以被继承的默认设置。...Maven首先在构建当前项目的地方寻找父项 目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。...--该元素指定更新发生的频率。Maven会比较本地POM和远程POM的时间戳。...-- 用于定位和排序构件的仓库布局类型-可以是default(默认)或者legacy(遗留)。...Maven 2为其仓库提供了一个默认的布局;然 而,Maven 1.x有一种不同的布局。我们可以使用该元素指定布局是default(默认)还是legacy(遗留)。

    2K30

    Maven - 打包之争:Jar vs. Shade vs. Assembly

    Shade 打包方式: 描述: Maven Shade插件允许创建一个可执行的JAR文件,其中包含所有依赖。 优点: 生成一个独立的可执行JAR,无需用户手动添加依赖。...Jar 打包方式_maven-jar-plugin Overview 使用maven-jar-plugin插件, 默认的打包方式,用来打普通的project JAR包 ....Shade 打包方式_maven-shade-plugin Overview 插件:使用maven-shade-plugin插件 maven-shade-plugin提供了两大基本功能: 将依赖的jar...”和“org.codehaus.plexus.util.xml.pull”不会被重命名到目的包中; 修改包的后缀名 默认会生成一个Jar包和一个以 “-shaded”为结尾的uber-jar包,可以通过配置来指定...日常使用比较多的是maven-assembly-plugin插件 例如:大数据项目中往往有很多shell脚本、SQL脚本、.properties及.xml配置项等,采用assembly插件可以让输出的结构清晰而标准化

    1.5K10
    领券