首页 > 其他分享 >使用maven-shade-plugin打包shade jar

使用maven-shade-plugin打包shade jar

时间:2024-08-19 23:04:51浏览次数:11  
标签:package plugin jar maven shade org

jar分类

  • jar: 用于给java project依赖的jar包,无法单独执行
  • excutable jar: 比普通jar多了一个main类的指定,在jar包里,META-INF/MANIFEST.MF文件里,有一行是指定main class的配置
Manifest-Version: 1.0
Created-By: Maven JAR Plugin 3.3.0
Build-Jdk-Spec: 21
Main-Class: org.example.DemoApp
  • shade jar: 把所有的依赖包jar按类的目录进行解压平铺,相同的package在同一目录下,然后再与工程的class打成一个大jar包,是fat jar的一种形式
  • uber jar: 把工程classes、依赖jar、resources、static、全部打进一个jar包里,称为uber jar,spring boot正是这种默认打包方式,也是fat jar

maven-shade-plugin

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.6.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>org.example.DemoApp</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

执行mvn clean package后,就可以看到target目录下一个size很大的jar包

执行shade jar

与spring boot打出的fat jar一样,不用再指定classpath依赖包了,直接单文件搞定:

java -jar your-app.jar

标签:package,plugin,jar,maven,shade,org
From: https://www.cnblogs.com/jiayuan2006/p/18368305

相关文章

  • Gradle编译项目Druid找不到tools.jar和jconsole.jar
     原因:jdk11之后不支持druid的两个依赖方法一:<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.5</version>方法二:<!--<exclusions><exclusion><gro......
  • 深度剖析Cocos Creator中的Shader编程:从入门到精通,打造绚丽视觉效果!
    目录一、入门篇:Shader是什么?为什么我们需要它?二、基础知识:GLSL与CocosCreator的Shader语言三、实战演练:编写一个简单的Shader1.创建Shader文件2.编写GLSL代码3.应用Shader四、 编写复杂的Shader效果五、 性能优化六、示例:编写高斯模糊Shader顶点着色器(VS)片元......
  • springboot项目打包jar 并打包为exe启动
    springboot项目打包jar并打包为exe启动(在无jdk环境下运行)环境SpringBoot+Windows+IDEA实现1.springboot打包为可执行jar(这里使用maveninstall)maven工具栏选择项目->Plugins->install注:如果存在前端页面需同时打包(webapp下);需在pom.xml中进行配置<build>......
  • IDEA日常爆红:Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin
    一、在写这篇文章之前,我面对这些爆红,第一时间去寻找AI帮助,这些人工智障千篇一律地回答几乎让我奔溃!!终于还是在csdn上找了解决方法,报错问题去csdn还是很不错的选择。以下是解决办法:二、①.在 setting.xml 文件中的镜像源,首先找到这个标签②.在上面标签中插入以下代码<!--......
  • jar包
    7.6jar包jar包(JavaArchive)是Java中一种常见的归档文件格式。它实际上就是一个压缩文件,通常以.jar作为文件扩展名。jar包可以包含Java类、资源文件、库、元数据等内容,以便在Java应用程序中进行打包、分发和部署。jar包的主要作用包括:打包Java类和相关资源文件:将Java类文件、......
  • java 调用C#语言写的dll文件代码 jar包报错 : 类文件具有错误的版本 55.0, 应为 52.0
    [ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile(default-compile)onprojectsnowy-common:Compilationfailure[ERROR]/D:/ChengmaiDev/code/project-master/snowy-common/src/main/java/vip/xiaonuo/common/util/Commo......
  • vulnhub - Jarbas
    vulnhub-Jarbas信息收集sudonmap-sT-sV-sC-O-p22,80,3306,8080192.168.157.176sudonmap-script=vuln-p22,80,3306,8080192.168.157.176有robots.txt#wedon'twantrobotstoclick"build"links8080是后台登录目录扫描扫一下目录(不指定-xphp,html......
  • 部署--项目打成 jar 包后部署为Docker镜像
     在Java项目打成jar包后,可以通过Docker容器进行部署。 1.打包Java项目为jar文件mvncleanpackage完成后会在本地目录target下生成jar文件。如: 2.文件上传将jar包上传到制定的目录下。(如:我的是 control包放在目录/home/dockerdata/docke......
  • SimpleJarBoot 简单程序启动器
    ​ 介绍Jar包的程序启动器脚本Jar脚本,Jar运行脚本,Jar包脚本,Jar服务启动脚本安装脚本if[-f/usr/bin/curl];thencurl-sSOhttps://gitee.com/wl4837/simple-jar-boot/raw/master/simple-jar-boot.sh;elsewget-Osimple-jar-boot.shhttps://gitee.com/wl4837/sim......
  • MySQL8.0 Clone Plugin 实现解析浅析
    MySQL8.0ClonePlugin实现解析浅析从8.0.17版本开始官方实现了clone的功能,允许用户通过简单的SQL命令把远端/本地的数据库实例拷贝到其他实例后快速拉起一个新的实例。该功能由一些列的WL组成:Clonelocalreplica(WL#9209):实现了数据本地Clone。Cloneremotereplica......