Maven shade plugin

Maven 打包 .exe 可执行文件

烈酒焚心 提交于 2020-12-23 18:47:59
<build> <plugins> <plugin> <!-- 使用 maven-shade-plugin 打包项目 并导入 maven 中依赖的包 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.1</version> <configuration> <!-- 解决 A JNI error has occurred 问题 --> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <!-- 不生成 简易的 pom 结构 --> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> <executions> <execution> <phase>package</phase> <goals>

maven打包maven-shade-plugin报错Non-parseable POM解决方法

ⅰ亾dé卋堺 提交于 2020-11-23 20:47:28
maven打包maven-shade-plugin报错Non-parseable POM解决方法 参考文章: (1)maven打包maven-shade-plugin报错Non-parseable POM解决方法 (2)https://www.cnblogs.com/cczhoufeng/archive/2013/02/22/2922852.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4428122/blog/4737812

maven打包插件maven-shade-plugin简单介绍

不羁岁月 提交于 2020-05-04 06:00:54
作用: 1、可以把依赖打入jar包,然后直接使用这个jar包,从而不用担心依赖问题 2、通过设置MainClass,创建一个可以执行的jar包 3、Java工程经常会遇到第三方 Jar 包冲突,使用 maven shade plugin 可以解决 jar 或类的多版本冲突。 maven-shade-plugin 在打包时,可以将项目中依赖的 jar 包中的一些类文件打包到项目构建生成的 jar 包中,在打包的时候把类重命名 3、Resource Transformers可以对多个依赖包的冲突内容进行处理 Merging Content of Specific Files with AppendingTransformer, XmlAppendingTransformer and ResourceBundleAppendingTransformer Some jars contain additional resources (such as properties files) that have the same file name. To avoid overwriting, you can opt to merge them by appending their content into one file. One good example for this is when

windows环境下运行java的脚本

扶醉桌前 提交于 2020-02-26 05:25:46
windows环境下运行java的脚本 前几天研发时遇到eclipse运行不稳定的情况,明明实现了的功能有的时候能运行到,有时运行不到,非常让人头疼。于是想在本地搭一套运行环境,方便比较。 说明:以下情况主要针对java运行 首先考虑Application。maven编译Spring Boot默认打的包是fatjar,所以比较好处理。此处重点考虑传统Application。也可以考虑打成fatjar。用Eclipse->Export 安装fatjar插件\引入maven-shade-plugin插件或assembly插件,均不如意。要么方法费劲还容易错,要么影响到正常使用方式。考虑再三,决定用shell脚本组装常规使用方式实现。脚本如下。 cur_path="${运行目录}" echo "当前目录:"$cur_path projectPath="${工程目录}" subProject="{目标工程名}" echo "项目目录:"$projectPath cd $projectPath mvn clean echo "拷贝jar包" mvn dependency:copy-dependencies -DoutputDirectory=$cur_path"/lib" -pl $subProject echo "编译工程" mvn compile -pl $subProject

Maven生成可以直接执行的jar包

試著忘記壹切 提交于 2019-12-25 18:13:53
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 要想jar包能直接通过java -jar xxx.jar运行,需要满足: 1、在jar包中的META-INF/MANIFEST.MF中指定Main-Class,这样才能确定程序的入口在哪里; 2、要能加载到依赖包。 打包命令 mvn package 方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.xxx.Main</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven

【maven系列】maven可执行jar打包

眉间皱痕 提交于 2019-12-05 00:59:47
最近因项目需要,需要将项目打成jar包运行,项目为普通jar包,在pom配置如下: 第一种: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version> <configuration> <archive> <manifest> <!-- 指定main方法所在类 --> <mainClass>com.xxx.Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> 打包完成后,会将所有依赖的jar包打成一个jar文件,命令行使用 java -jar xxx.jar 运行。不过

maven-shade-plugin

我怕爱的太早我们不能终老 提交于 2019-11-30 07:33:53
最近,用规则引擎(drools)的封装了一个jar包,给别人使用。用的是maven-assembly-plugin打的包,可以把多个jar包里的class 给打成一个jar,感觉还是满好用的,但是打包成功后,发现报空指针错误, SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" java.lang.NullPointerException at org.kie.internal.utils.KieHelper.<init>(KieHelper.java:43) at com.topnet.ruleengine.RuleCall.geKieSession(RuleCall.java:145) at com.topnet.ruleengine.RuleCall.call(RuleCall.java:43) at M.main(M.java:17) 感觉少打哪个个东西了