用Maven打成可执行jar,包含Maven依赖,本地依赖的方法是什么

  介绍

这篇文章将为大家详细讲解有关用Maven打成可执行jar,包含Maven依赖,本地依赖的方法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Maven项目中不可避免的需要用到依赖jar,实际使用中有的能从Maven仓库找到,有的找不到,所以存在使用本地jar的情况,下面将对使用Maven仓库中,以及使用本地jar不同情况下打包可运行jar进行介绍。

<强>情景一:使用Maven依赖,所有的依赖都从Maven仓库查找下载,最终打包成可执行jar,需要修改pom文件如下。

& lt; !——使用maven依赖查找json-lib——比;   & lt; dependency>   & lt; groupId> net.sf.json-lib   & lt; artifactId> json-lib   & lt; version> 2.4 & lt;/version>   & lt; classifier> jdk15   & lt;/dependency>

对应修改pom文件,需指定程序入口,不然会报错xxxx - 1.0 -快照。jar中没有主清单属性

& lt; !——情景一,制定程序入口即可。——比;   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-shade-plugin   & lt; version> 1.2.1   & lt; executions>   & lt; execution>   & lt; phase> package   & lt; goals>   & lt; goal> shade   & lt;/goals>   & lt; configuration>   & lt; transformers>   & lt;变压器   ,实现=皁rg.apache.maven.plugins.shade.resource.ManifestResourceTransformer"的在   & lt; mainClass> com.study.App   & lt;/transformer>   & lt;/transformers>   & lt;/configuration>   & lt;/execution>   & lt;/executions>   & lt;/plugin>

打包之后,即可通过java jar xxx。罐子运行,

包com.study;   进口net.sf.json.JSONObject;/* *   *你好世界!   *   */公共类应用   {   公共静态void main (String [] args)   {   system . out。println (“Hello World !”);      JSONObject json=new JSONObject ();   json.put (“name",“子落“);   System.out.println (json.toString ());      }   }

运行效果如下,

用Maven打成可执行jar,包含Maven依赖,本地依赖的方法是什么

通过jar可以看的出,是将引用的罐子中对应的文件解压编译到打包的jar中

用Maven打成可执行jar,包含Maven依赖,本地依赖的方法是什么

最终pom文件如下,

& lt;及# 63;xml version=?.0”;编码=癠TF-8", # 63;比;      http://maven.apache.org/POM/4.0.0" & lt;项目xmlns=?xmlns: xsi=癶ttp://www.w3.org/2001/XMLSchema-instance"   ,xsi: schemaLocation=癶ttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"的在;   & lt; modelVersion> 4.0.0      & lt; groupId> com.study   & lt; artifactId> mvnstudy   & lt; version> 1.0 -snapshot   & lt; packaging> jar      & lt; name> mvnstudy   & lt; url> http://www.example.com</url>      & lt; properties>   & lt; project.build.sourceEncoding> UTF-8   & lt; maven.compiler.source> 1.7 & lt;/maven.compiler.source>   & lt; maven.compiler.target> 1.7 & lt;/maven.compiler.target>   & lt;/properties>      & lt; dependencies>   & lt; dependency>   & lt; groupId> junit   & lt; artifactId> junit   & lt; version> 4.11 & lt;/version>   & lt; scope> test   & lt;/dependency>      & lt; !——使用maven依赖查找json-lib——比;   & lt; dependency>   & lt; groupId> net.sf.json-lib   & lt; artifactId> json-lib   & lt; version> 2.4 & lt;/version>   & lt; classifier> jdk15   & lt;/dependency>      & lt;/dependencies>      & lt; build>   & lt; plugins>   & lt; !——情景一,制定程序入口即可。——比;   & lt; plugin>   & lt; groupId> org.apache.maven.plugins   & lt; artifactId> maven-shade-plugin   & lt; version> 1.2.1   & lt; executions>   & lt; execution>   & lt; phase> package   & lt; goals>   & lt; goal> shade   & lt;/goals>   & lt; configuration>   & lt; transformers>   & lt;变压器   ,实现=皁rg.apache.maven.plugins.shade.resource.ManifestResourceTransformer"的在   & lt; mainClass> com.study.App

用Maven打成可执行jar,包含Maven依赖,本地依赖的方法是什么