Maven工程中排除依赖打包的两种方式

这篇具有很好参考价值的文章主要介绍了Maven工程中排除依赖打包的两种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Maven工程中,我们常需要依赖各种第三方库完成项目开发,但在最终交付时,往往不希望将这些依赖本身打包到产品中,以减小发布包体积。此时,可以通过以下两种方式实现:

使用provided

这适用于那些编译时需要,但运行时会由服务器或运行环境提供的库,典型的如Servlet API、JDBC驱动等。可以像下面这样配置:

<dependency>
 <groupId>groupId</groupId>
 <artifactId>artifactId</artifactId>
 <version>version</version>
 <scope>provided</scope> 
</dependency>

这种方式编译通过且可以写代码引用,但不会被打入最终包中。

使用true

这表示一个完全可选的依赖,默认是不参与打包的,只有手动设置了才会被包含在内。例如:

<dependency>
 <groupId>groupId</groupId>
 <artifactId>artifactId</artifactId>
 <version>version</version>
 <optional>true</optional>
</dependency>

两者都可以实现排除依赖打包,但强调编译必须而运行时不需要,完全是可选依赖。合理运用可以减小项目发布包体积。

两者的共同点是都可以排除依赖的打包,不同在于 表示完全可选,而 表示编译必须但运行时由外部容器提供。文章来源地址https://www.toymoban.com/news/detail-577789.html

到了这里,关于Maven工程中排除依赖打包的两种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • idea中导入maven项目的两种方式

    每个maven模块,右侧都会有一个Maven侧边栏,可以打开侧边栏,点上面“+”号,导入maven; 快捷键ctrl+shift+alt+s,打开项目结构,在项目结构中导入 值得一提的是,选择maven文件夹也可以导入

    2024年02月15日
    浏览(58)
  • idea将普通项目更改为maven项目的两种方式

    今天写demo的时候发现自己建的项目不是maven项目,建时忘记了,demo已经写了很多了,于是找了几种普通项目更改成maven项目的方法。 右键工程文件,新建文件pom.xml,并填写好内容。 在pom.xml 文件上右键 Add as Maven Project。 3.idea自己导入maven。

    2024年02月15日
    浏览(46)
  • IDEA中使用Tomcat的两种方式:集成本地Tomcat&使用Tomcat Maven插件

    在IDEA中创建完一个Maven Web项目,并补齐了目录以后,准备使用Tomcat时,就需要在自己创建的项目中去部署Tomcat,前文已经介绍了如何创建Maven Web,所以这里就不多加赘述,直接讲述部署Tomcat的方法 这种方法比较复杂,但是非常适用于tomcat7以上的高版本,且一定不会报错 首先

    2023年04月08日
    浏览(54)
  • Maven排除依赖 exclusions

    排除依赖 exclusions 间接依赖是可以通过传递性依赖机制引入到当前项目中,而有时候第三方组件B的C依赖由于版本(1.0)过低存在安全漏洞。我们期望能够将该间接依赖直接剔除出去,不通过传递依赖的形式引入到项目中。这时即可通过exclusions元素实现,该元素下可以包含若干

    2024年01月21日
    浏览(34)
  • 【Maven】依赖范围、依赖传递、依赖排除、依赖原则、依赖继承

      在 Maven 中,依赖范围 (Dependency Scope) 用于控制依赖项在编译、测试和运行时的可见性和可用性。通过指定适当的依赖范围,可以在不同的构建和执行环境中控制依赖项的加载和使用。    compile(默认) :该依赖项在编译、测试和运行时都可用。这是大多数依赖项的

    2024年02月14日
    浏览(40)
  • Maven中 排除依赖 exclusions

    使用maven进行jar包依赖管理时,maven会自行管理jar包及其依赖链条,但往往会遇到依赖冲突问题,这时候就可以尝试使用exclusions来进行依赖管理 demo:排除tomcat 启用 jetty true

    2024年02月12日
    浏览(39)
  • QT打包的两种方式

    QT打包的两种方式: 一个是QT5自带的windeployqt(不需要下载安装),它可以找到程序(exe)用到的所有库文件,并且都拷贝到exe程序的当前文件。此时打包的exe较小,需要和拷贝进来的文件放一起运行,也可以将这些文件再次打包成一个大的exe文件,此时用的第二种打包方式

    2024年02月16日
    浏览(49)
  • IDEA引入本地jar包的两种方法(idea程序引入和maven)

    公司买的第三方物联网设备,对接数据信息,需要引入他们自己的jar包进行开发。 1.打开idea找到项目结构 2.继续点击模块 3.继续点击+ 4.然后选择需要导入的jar包,点击完成,引用,就可以了 1.找到jar包所在文件夹,打开命令行界面cmd 2.运行命令 文件名称(文件地址)path-to-fi

    2024年04月10日
    浏览(51)
  • maven 模块打包时包含依赖和打包可执行的jar

    maven 模块打包 1)maven 模块打包jar文件时,指定包含依赖(with-dependencies); 2)maven 模块打包jar文件时,指定入口MainClass、打包生成可执行的jar; vi qftools/common/src/main/java/com/xxx/qftools/common/Main.java package com.xxx.qftools.common; public class Main {     public static void main(String args[]) {    

    2024年02月14日
    浏览(77)
  • 如何将一个jar包打包成maven依赖

    参数含义: DgroupId :组id 【对应pom中的groupId】 DartifactId:项目id 【对应pom中的artifactId】 Dversion:版本号 【对应pom中的version】 Dfile:jar包的绝对路径 Dpackaging:是什么包 DgeneratePom:是否生成pom maven中的GAV:

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包