首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Maven快速生成带有依赖的可执行jar包

一、背景   最近项目在做微服务的拆分,那么我们想让我们的容器启动更加的轻量级,所以我们选择放弃tomcat等容器,而是通过maven生成带有指定依赖的可执行jar包的方式进行处理,本文我将分享如何通过...二、原理以及实现步骤 1.原理   我们可以通过修改maven 打jar包的maven-jar-plugin插件的配置信息来生成我们需要的指定依赖的可执行jar包。...--依赖是否使用带有时间戳的唯一版本号,如:xxx-1.3.0-20121225.012733.jar--> false...我们通过上文的修改便完成了适用maven生成指定依赖的可执行jar包。 我们发现生成的manifest文件中已经设置好了Main-Class以及Class-Path,如下: ?...到此我们就完成了如何使用maven的jar包生成插件来进行生成指定依赖的可执行jar包。

1.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    maven: 打包可运行的jar包(java application)及依赖项处理

    类,然后用mvn exec:exec来运行,但是部署到生产环境中时,服务器上通常并不具备maven环境,只能用 java -jar xxx.jar这种方式来运行,下面是一些处理细节: 一、依赖项的处理...java application运行时需要查找依赖的第三方jar,如果查找classpath失败,就会报错,可以先用 mvn dependency:copy-dependencies -DoutputDirectory...=target/lib 命令,把依赖的jar包全部导出到target/lib这个目录下 二、利用maven-jar-plugin修改META-INF\MANIFEST.MF 清单文件 java application...其中第4行指定了classpath,也就是所依赖的jar包在什么地方,第6行表示main函数的入口类,默认情况下mvn clean package生成的jar包里,清单文件上并没有这2行,需要在pom.xml...,这样mvn package后,清单文件里就会自动添加Main-Class和Class-Path这二项 ok了,部署时把jar包和lib目录,都上传到服务器上 ,然后测试一下,顺利的话 java -jar

    2.1K90

    Maven 生成打包可执行jar包

    大家好,又见面了,我是你们的朋友全栈君。 最近IDEA打可执行Jar包搞了三天,一直失败,好好学习一下Maven-assembly,在此记录一下 1....需求 项目打包,满足以下要求: 整个项目打一个Zip包下面包括应用程序、应用程序依赖的jar包、说明文档 项目打的jar包可以执行不同类里的Main函数 项目源码打的jar包要与依赖的第三方jar包分开...project jar maven-shade-plugin 打可执行包,executable(fat) jar maven-assembly-plugin 支持自定义打包方式 这里使用maven-jar-plugin...Maven使用maven-jar-plugin打可执行jar包 主要配置如下: org.apache.maven.plugins...Maven生成可执行jar包及zip项目压缩包 双击执行mvn:package会生成两个包:可执行jar包和项目压缩包,因为assembly的装配配置的是绑定到这上面来的 双击执行assembly:single

    2.3K30

    Flink开发-生成Jar(Maven依赖处理)

    前言 IDEA中安装Maven Helper插件。 安装重启后,点击pom.xml可以看到两个选项卡,可以查看依赖的关系。...Dependencies as Tree(树形式查看所有依赖,冲突的依赖会红字显示) Maven打包流程 构建项目的几个环节 清理(clean):删除以前的编译结果,为重新编译做好准备。...Java 工程对应 jar 包,Web工程对应 war 包。 安装(install):在 Maven 环境下特指将打包的结果(jar包或war包)安装到本地仓库中。...flink-table-blink_2.11-1.12.0.jar 将calcite等依赖打入,因此用户的jar包中需要排除calcite相关依赖。...用户项目中可使用maven helper搜索calcite相关依赖,将其provided,并将这些依赖放入flink lib目录下,重启flink服务即可 常见的包含calcite的依赖有: hive-exec

    2.4K40

    Maven 添加本地 jar 包、添加依赖 jar 文件到本地 Maven 仓库、引用本地 jar

    把要用的jar放在固定位置: 2.打开CMD,进入到libs文件夹: 3.运行如下命令: mvn install:install-file -Dfile=OpenInstall_v1.1.0.jar...-DgroupId=OpenInstall -DartifactId=OpenInstall -Dversion=1.1.0 -Dpackaging=jar 这样就将jar发布到本地Maven仓库中了...命令说明: mvn install:install-file -Dfile=这儿是jar包的完整名字 -DgroupId=这儿随便取名,比如为A ,但是maven依赖在引用时要用这个名字...-DartifactId=这儿随便取名,比如为B ,但是maven依赖在引用时要用这个名字。 -Dversion=这儿是版本号随便写,比如为C,但是maven依赖在引用时要用这个版本号。...在工程的pom.xml中加上maven依赖: A B</artifactId

    5.8K40

    Maven依赖Jar冲突排查及解决

    前言 什么是依赖冲突? 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成了包版本冲突。...) All Dependencies as Tree(树形式查看所有依赖,冲突的依赖会红字显示) 注意 排查冲突的时候推荐使用第二种方式找到冲突项,搜索冲突项用第三种方式排除冲突。...从图中可以看出有哪些jar存在冲突,存在冲突的情况下最终采用了哪个依赖的版本。 标红的就是冲突版本,白色的是当前的解析版本。...shade 也有maven插件,通过更改jar包的字节码来避免jai包冲突,jar包冲突的本质是类的全限定名(包名+类名)冲突了,通过全限定名不能定位到你想用的那个类,maven-shade插件可以更改...protobuf-java,系统运行时都会分别用到A.jar,B.jar中protobuf部分的功能,而且A.jar,B.jar依赖的protobuf版本无法通过升高降低版本调整到一致。

    2K40

    【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包

    使用maven构建工具可以将工程打包生成普通的jar包、可运行的jar包,也可以将所有依赖一起打包生成jar; 一、普通的jar包 普通的jar包只包含工程源码编译出的class文件以及资源文件,而不包含任何依赖...;同时还包括pom文件,说明该包的依赖信息; 在工程pom文件下这样写,可生成普通的jar包: jar 或者,不写,因为packaging默认打包类型为jar...二、包含所有依赖的jar包 普通的jar包,只在pom文件中包含依赖信息,而不包含真正的依赖,但同时maven也可以打包生成包含所有依赖的jar文件,可参考本博客文章 Maven打包生成包含所有依赖的...jar包 三、可运行jar包 可运行的jar包,除包含工程源码编译结果外,还包括所有依赖,可利用java -jar 命令直接运行。...(所有的依赖jar包直接变成了class) 使用maven生成可运行jar包,可参考本博客文章 maven打包生成可执行jar文件。

    5.9K20
    领券