FatJar

Gradle: Uber Jar creation fails with “Could not expand ZIP”

試著忘記壹切 提交于 2021-02-16 20:20:23
问题 I'm trying to create a Fat/Uber jar using Gradle. Unfortunately, I keep running into the following error: > Task :fatJar FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':fatJar'. > Could not expand ZIP '/home/me/.gradle/caches/modules-2/files-2.1/org.apache.drill/drill-client/1.13.0/c90c87887c292a3712eccc7cebdc48b0b9d93ec9/drill-client-1.13.0.pom'. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get

Spring Boot 2.x 之构建Fat Jar和可执行Jar

故事扮演 提交于 2021-02-02 02:58:10
Spring Boot提供的Maven插件spring-boot-maven-plugin可以用来构建Fat Jar和可执行Jar。 1.Fat Jar Fat Jar需要使用 java -jar xxx.jar 运行。要求在POM中使用: 1 < build > 2 < plugins > 3 < plugin > 4 < groupId > org.springframework.boot </ groupId > 5 < artifactId > spring-boot-maven-plugin </ artifactId > 6 </ plugin > 7 </ plugins > 8 </ build > 此时构造出来的Fat Jar是没有可执行属性的。 2. 可执行Jar 相对于Fat Jar,可执行Jar多了可执行属性,可以通过 xxx.jar start 命令启动运行。 只要配置spring-boot-maven-plugin,启用可执行属性: 1 < build > 2 < plugins > 3 < plugin > 4 < groupId > org.springframework.boot </ groupId > 5 < artifactId > spring-boot-maven-plugin </ artifactId > 6 <

Java fatJar with resources and dependencies for testNG

[亡魂溺海] 提交于 2021-01-29 05:41:58
问题 I'm trying to build a testng fatjar but looks like this configuration is not adding the resources from java main and tests <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.3</version> <configuration> <argLine>--enable-preview</argLine> <descriptor>src/main/assembly/assembly.xml</descriptor> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <archive> <manifest> <mainClass>Main<

如何迁移 Flink 任务到实时计算

杀马特。学长 韩版系。学妹 提交于 2021-01-21 11:20:05
本文由阿里巴巴技术专家景丽宁(砚田)分享,主要介绍如何迁移Flink任务到实时计算 Flink 中来。内容主要分为以下几部分: 如何迁移 多 jar 配置文件 state 复用 通常用户在线下主要使用 Flink run,这会造成一些问题,比如:同一个配置因版本而变化;无法快速切换不同版本;无法从之前的作业恢复。 那么如何从线下迁移到线上呢?本文将通过下面四部分来向大家介绍。 一、如何迁移:从 Flink run 到流计算平台 如下图的线下命令如何迁移到线上。首先打开 VVP UI,添加基础配置,主要包括:作业名称、Jar URI、一些主要参数和并行度。还可以点击高级配置,配置更多信息。 比如高级配置里的行为配置,分为三部分:升级策略、初始状态和恢复策略。升级策略一般选择Stateless,初始状态选择Running,恢复策略选择Latest State。 升级策略选择Stateless,表示针对已经在运行的作业,编辑并保存配置后,会直接把原作业停掉,然后重新启动一个更新的作业;选择Stateble,针对正在运行的作业做配置编辑并保存的话,作业会先做一次Savepoint,然后加载新的配置并使用该 Savepoint启动新的作业。 恢复策略选择LatestSavepoint,是指作业在暂停情况下,如果再启动,将使用最新的Savepoint启动。 上面介绍的是 Flink

Eclipse打Jar包的方法

╄→гoц情女王★ 提交于 2020-12-01 02:47:49
Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法 Eclipse打包成jar文件的两种方法 关于引用第三方jar包,生成自己jar包运行时找不到第三方jar包的解决方案 一,不包含其他额外的Jar包(我这里没指定默认运行主类,可以指定) 1. Eclipse项目打成Jar包 右键该项目名称,选择Export,之后选择Java中的JAR file,之后点击next,之后在JAR file中填入JAR包名称,点击finish即可。生成的jar包在workspace中。 2. 运行JAR包中指定的main方法 比如我的main方法在com/xx/javaproject/test,名字是HelloWorld。 jar包名称是TestJavaProject.jar 就可以执行如下命令: java -cp TestJavaProject.jar com.xx.javaproject.HelloWorld start 3. 也可以在TestJavaProject.jar相同目录下创建.sh或者.bat文件执行 在linux,创建脚本文件执行,创建TestJavaProject.sh,添加如下内容 1 #!/bin/ bash 2 java - cp TestJavaProject.jar com.xx.javaproject.HelloWorld start

三分钟带你了解SpringBoot真正的启动引导类!

给你一囗甜甜゛ 提交于 2020-11-05 06:01:41
引言 SpringBoot 项目中的启动类,一般都是 XXApplication ,例如**「StatsApplication」 , 「UnionApplication」**。 每个项目的启动类名称都不一样。但是它的启动类真的是XXApplication吗? **META-INF/** Manifest.mf文件 jar文件实际上是class文件的zip压缩存档。jar并不能表达应用程序的便签信息. 「META-INF/Manifest.mf文件提供存档的便签信息.」 Manifest.mf有 「Main-Class,用来标明jar文件的入口类。」 解压jar包,查看META-INF/Manifest.mf过程如下: 重要信息如下 Main-Class: org.springframework.boot.loader.JarLauncher Start-Class: com.shanyuan.StatsApplication 也就是说: 「org.springframework.boot.loader.JarLauncher 是 SpringBoot 的启动类!」 下面浏览下 JarLauncher 浏览JarLauncher 3.1 找到JarLauncher 进入IDEA,Ctrl+N查找JarLauncher,竟然找不到!! 进入 https://search.maven

Maven插件系列之spring-boot-maven-plugin

烂漫一生 提交于 2020-08-12 15:50:55
Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。 Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。 Spring Boot Maven plugin的最新版本为2017.6.8发布的1.5.4.RELEASE,要求Java 8, Maven 3.2及以后。 Spring Boot Maven plugin的5个Goals spring-boot:repackage,默认goal。在mvn package之后,再次打包可执行的jar/war,同时保留mvn package生成的jar/war为.origin spring-boot:run,运行Spring Boot应用 spring-boot:start,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理 spring-boot:stop,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理 spring-boot:build-info

快速学习-sentinel控制台

空扰寡人 提交于 2020-08-12 05:30:37
11、控制台 11.1 概述 Sentinel 控制台提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。您只需要对应用进行简单的配置,就可以使用这些功能。 注意: 集群资源汇总仅支持500 台以下的应用集群,有大概1 - 2 秒的延时。 11.2. 启动控制台 11.2.1 下载代码并编译控制台 下载控制台工程 使用以下命令将代码打包成一个fat jar: mvn clean package 11.2.2 启动 使用如下命令启动编译后的控制台: $ java - Dserver . port = 8080 - Dcsp . sentinel . dashboard . server = localhost : 8080 - jar target / sentinel - dashboard . jar 上述命令中我们指定了一个JVM 参数,-Dserver.port=8080 用于指定SpringBoot 启动端口为8080。 11.3. 客户端接入控制台 控制台启动后,客户端需要按照以下步骤接入到控制台。 11.3.1 引入JAR 包 通过pom.xml 引入JAR 包: < dependency > < groupId > com . alibaba . csp < / groupId > < artifactId > sentinel

可视化限流管理,Sentinel 控制台启动和接入

自闭症网瘾萝莉.ら 提交于 2020-08-11 07:11:43
Sentinel 的使用可以分为核心库和控制台两个部分。 核心库不依赖任何框架/库,集成了主流框架,可以进行单机限流降级等功能, 控制台Dashboard提供了可视化的管理限流规则、对集群进行监控,集群限流分配管理、机器发现等功能。 这篇博客学习 Sentinel 控制台的启动和接入。 一、控制台启动 控制台下载有两种方式,一种是直接下载编译好的release版本程序包,另一种是下载控制台的工程代码,在本地打包后启动。 直接下载release程序包 从 release 页面下载最新版本的控制台 jar 包。 最新的正式版本是v1.7.1。 通过代码构建 下载最新的 sentinel-dashboard 控制台工程,代码仓库地址 sentinel-dashboard 。 下载后,进入工程目录,通过Maven打包成一个可执行的 fat jar: mvn clean package 构建和启动 使用如下命令启动控制台: java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar 注意:启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本。 其中, -Dserver