通过使用maven-shade-plugin插件进行 Maven 的打包操作,可以将项目中的依赖一同添加到最终的项目 Jar 包内,maven-shade-plugin插件有两个目标,我们要学习的是插件的shade目标,建议使用时与 Maven 生命周期的package阶段绑定 这中打包后带依赖的 Jar 包一般称为uper-jar或fat-jar 不管pom.xml是否声明了 Maven 的默认...
简介:Maven Shade Plugin是Maven的一个插件,主要用于解决大型项目中的依赖冲突和类冲突问题。它可以将所有依赖项打包到一个JAR文件中,创建一个“fat” JAR(也称为“uber” JAR),使得应用程序可以作为一个独立的可执行JAR运行。此外,它还可以重命名、移除或合并类来解决类冲突,减少JAR包数量,并将项目中的资源文件...
1、把整个项目,包含它的依赖都打包到一个 “fat-jar” 中; 2、重命名某些依赖的包 maven-plugin-shade 必须和 Maven 构建生命周期中的 package 阶段绑定,也就是说,当执行 mvn package 时会自动触发 shade。默认情况下会把项目所有的依赖都包含进最终的 jar 包中。当然,我们也可以在 <configuration> 标签内配...
现在基本上都是采用maven来进行开发管理,我有一个需求是需要把通过maven管理的java工程打成可执行的jar包,这样也就是说必需把工程依赖的jar包也一起打包。而使用maven默认的package命令构建的jar包中只包括了工程自身的class文件,并没有包括依赖的jar包。我们可以通过配置插件来对工程进行打包,pom具体配置如下: maven-...
maven-shade-plugin是一个用于构建Java项目的Maven插件,它可以将项目的所有依赖项打包到一个可执行的JAR文件中。在打包过程中,有时候我们希望排除一些声明为依赖项的JAR文件,以减小最终生成的JAR文件的大小或避免冲突。 排除声明为依赖项的JAR文件可以通过在maven-shade-plugin的配置中使用<excludes>标签来实现。在<exc...
但是经常发现打包后的项目无法启动, 其中一大类是您项目有问题, 但是这个相对好解决, 毕竟自己的项目可以在windows下的ide中做各种调试,测试都测试好了, 在打包一般程序问题的概率就低得多了。 1. Why? 通过maven-shade-plugin 生成一个 uber-jar,它包含所有的依赖 jar 包。
maven-shade-plugin 在打包时,可以将项目中依赖的 jar 包中的一些类文件打包到项目构建生成的 jar 包中,在打包的时候把类重命名。下面的配置将 org.codehaus.plexus.util jar 包重命名为 org.shaded.plexus.util。 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade...
compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。 provided (已提供范围) provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如, 如果你开发了一个web 应用,你可能在编译 classpath 中需要可用的ServletAPI来编译一...
addClassPath:将该元素设置为true告知maven-jar-plugin添加一个Class-Path元素到 MANIFEST.MF 文件,以及在Class-Path元素中包括所有依赖项。 classpathPrefix:如果您计划在同一目录下包含有您的所有依赖项,作为您将构建的 JAR,那么您可以忽略它;否则使用classpathPrefix来指定所有依赖 JAR 文件的前缀。在清单 1 中,cl...