如何打一个FatJar(uber-jar)】的更多相关文章

关于maven打包fat jar (uber jar) 时需要包含本地文件系统第三方jar文件的问题,今天折腾了一整天.最后还是用了spring boot来做.下面是几篇关于打包的有参考价值的文章,以及我的解决方法. 参考文章: 1.  将 Spring boot 项目打成可执行Jar包,及相关注意事项(main-class.缺少 xsd.重复打包依赖) https://blog.csdn.net/rainbow702/article/details/55096506 2.  Java 打包 F…
如何打一个FatJar(uber-jar) FatJar也就叫做UberJar,是一种可执行的Jar包(Executable Jar).FatJar和普通的jar不同在于它包含了依赖的jar包. 1. maven-jar-plugin 例子 <build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</group…
1.Maven打包一个可执行jar: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8…
传统的 Java 应用程序都需要打一个 war 包,并到到 Tomcat webapps 目录下运行. Java 支持打 Jar 包,但没有提供一个标准的方式在一个 Jar 包内再加载嵌入别的 Jar 包,一般需要扩展类加载器来实现,即使这样,也做不到打成一个包运行,因为没有 Servlet 容器. 有了 Spring Boot 框架之后,这一切都变得简单,我们可以很方便的将应用程序打成一个可执行 Jar 包. 怎么打成 Jar 包运行? 1.添加插件 <plugin> <groupId…
How to Create an Executable JAR with Maven 1.最重要的是使用jar类型,<packaging>jar</packaging>.当然不指定的话,默认Maven使用的就是jar. 2.利用maven-dependency-plugin来手动创建(方法一) <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-…
目录 项目准备 sonatype 注册 申请sonatype工单 gpg配置 项目配置 依赖oss-parent 自定义配置 pom配置 全局settings配置 发布 验证 maven 项目对于我们开发大大减少了我们的开始时间,提高了开发效率,那么如何开发出属于自己的一套maven项目了.今天来看看如何上传maven项目到中央仓库 项目准备 首先我们得创建一个maven项目:当然这里只是为了而是发布maven项目.没有maven的新建一个就行.有了自己maven项目,在这里就可以直接拿mave…
简陋的地图编辑终于做好了,于是要开始制作地图了,想导出为一个windows下可用的程序,让熟人代做地图,然后找人问了下打包流程,其实跟普通java打包为jar没什么区别,记录如下: 导出类型选第三个 然后选择启动类 选择第三个 然后提示导出成功 因为游戏地图是用Gdx.files.local方法写的 本来以为读取加载,或保存时会出错, 结果可以正常使用,在目录下自动生成了相关文件...…
尝试使用 spark 以 bulkload 的方式写 HBase 时,遇到一个问题,错误堆栈如下 19/02/02 09:00:43 ERROR Utils: Aborting task java.lang.NoSuchMethodError: org.apache.hadoop.hbase.util.ByteStringer.wrap([B)L/com/google/protobuf/ByteString; at org.apache.hadoop.hbase.io.hfile.HFile$F…
一.开发一个演示项目 项目源代码开发 项目名称叫jar-package-example(其实只是一个文件夹, 用以将演示的所有文件夹和文件存放在其中, 没啥其它作用), 为了方便, 后文统一叫jar-package-example目录为项目根目录. 项目下有三个子文件夹: lib: 存放依赖包 src: 存放源码文件 target: 存放编译后的class文件以及作为打包的目标文件夹 [root@xs jar-package-example]# ls -t target src lib [roo…
除了使用Hive,Pig来执行一个MapReduce任务,不需要专门的把项目打成jar包,提交执行,或者定时执行,因为Hive,Pig这些开源框架已经,帮我们自动打包上传了. 而有些时候,我们自己手写了一个MapReduce的任务,然后这个任务里面依赖了其他的第三方包,比如说是Lucene的,或者是Solr,ElasticSearch的,那么打包的时候就需要将这些依赖的jar包也一起的打包进去. 如果你用的是maven,那么事情就简单了,maven会自动把所有依赖的jar包,打成一个统一的jar…
让我们通过创建一个完全自包含的可执行jar文件来结束我们的示例,该jar文件可以在生产环境运行.可执行jars(有时候被成为胖jars "fat jars")是包含你的编译后的类和你的代码运行所需的依赖jar的存档. 可执行jars和Java: Java没有提供任何标准的加载内嵌jar文件(即jar文件中还包含jar文件)的方法.如果你想发布一个自包含的应用这就是一个问题.为了解决该问题,很多开发者采用"共享的"jars.一个共享的jar简单地将来自所有jars的类…
1.前言 用过spring boot的同学肯定知道,现在web项目可以直接打成jar包运行,相当方便. 那么普通项目如何配置(非spring boot),才能打成一个类似的jar包呢? 2.解决方案: 在pom中的build中进行如下配置即可: <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <…
    常见 jar包详解 jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法. jaxrpc.jar Axis运行所需要的组件包 saaj.jar 创建到端点的点到点连接的方法.创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法.   wsdl4j-1.5.1.jar Axis运行所需要的组件包 activation.jar JAF框架的ja…
辛苦所得,转载还请注明: https://www.cnblogs.com/applerosa/p/9739007.html  得空整理了关于java 开发中,所有打包方式的 一个操作方法, 有基于IDE的,有基于构建工具的. 这里还是比较建议新手朋友尽快习惯 maven 和 gradle 等构建工具自带的打包方式. 不是说逼格高,的确是因为不依赖 IDE, 配置好 一两行命令就搞定. 离开IDE 照样出包. 大概分为这几个步骤 一.  关于Jar 包(example.jar) 的 结构/作用/使…
1.将项目打成jar: 1.1 要将项目打包成jar文件,方法很多,可以用Eclipse自带的打包工具Ant打包,也可以用Eclipse的Export生成jar.经过尝试后,我不推荐用Ant打包,因为要自己编写xml脚本语言,还要增加一些外部的jar,所以我打了好几次都没打成. 1.2 在这里介绍两种方法生成jar,第一种是用Eclpise的Export功能.在要打包的项目上击右键,选择Export,在窗口中选择Java里的 JAR file.Next后的窗口中已经自动选好了要打包的项目,用户可…
一:打JAR包 在工程的pom.xml中添加以下依赖 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> 我们目前的工程采用的是jar 的打…
一些准备工作: 本节介绍如何开发一个简单的“ Hello World!” Web应用程序,该应用程序重点介绍Spring Boot的一些关键功能.我们使用Maven来构建该项目,因为大多数IDE都支持它. 小贴士:spring.io网站包含许多使用Spring Boot的“入门”指南.如果您需要解决特定的问题,请首先检查.通过转到start.spring.io并从依赖项搜索器中选择“ Web”启动器,可以简化以下步骤.这样做会生成一个新的项目结构,以便您可以立即开始编码.查看Spring Ini…
在用spark-submit提交作业时,用sbt package打包好的jar程序,可以很好的运行在client模式,当在cluster模式, 一直报错:Exception in thread "main" java.lang.ClassNotFoundException.决定利用sbt assembly插件把所有的依赖打成一个jar. 我的工程结构: myProject/build.sbt myProject/project/assembly.sbt myProject/src/ma…
11 构建一个简单的Spring Boot项目 这个章节描述如何通过Spring Boot构建一个"Hello Word"web应用,侧重介绍Spring Boot的一些重要功能.因为大多数的开发工具都支持Maven,所以我们使用它来构建这个应用. 网站 spring.io 包含了许多如何开始使用Spring Boot的指南.如果您需要解决具体的问题,可以先去这里看看.你可以跳过以下的步骤,通过 start.spring.io 网站来构建项目.这样做的话,你就可以直接编写代码啦.如果需…
fatjar 看下springboot打成jar包后的结构和内容: springboot项目打包的jar 普通jar: 传统jar 通过上面两个图的对比,我们知道这个JAR包与传统JAR包的不同之处在于里面有一个名为lib的目录,在这个目录中包含了这个简单应用所依赖的其他JAR包,其中也包含内置的嵌入式Tomcat,正是使用它,才能发布服务和访问Web资源.除了我们编写的源码所编译形成的CLASS以外,在org目录下还有许多Spring所提供的CLASS,正是依赖这些CLASS,才能够加载位于l…
需要时SpringBoot项目 通过创建可以在生产环境中运行的完全独立的可执行jar文件来结束示例.可执行jar(有时称为"胖jar")是包含您的已编译类以及代码需要运行的所有jar依赖项的归档文件. 可执行jar和Java Java没有提供加载嵌套jar文件(jar中本身包含的jar文件)的标准方法.如果您要分发独立的应用程序,则可能会出现问题. 为了解决这个问题,许多开发人员使用"超级"罐子.uber jar将来自应用程序所有依赖项的所有类打包到单个存档中.这种…
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍然打印一个helloWorld,照例直接上代码, 1.进入目录D:\work\gradle\exe,新建文件build.gradle,键入内容: apply plugin: 'application' // 引入java插件, repositories { // 从哪里找jar包 flatDir {…
最近手头的工作不太繁重,自己试着倒腾了一套用开源框架组建的 JavaWeb 后端解决方案. 感觉还不错的样子,但实践和项目实战还是有很大的落差,这里只做抛砖引玉之用. 项目 git 地址:https://git.oschina.net/LanboEx/sdh.git 大体采用的开源项目有:Spring + SpringMVC + Druid + JPA(Hibernate Impl). 1. 采用到的开源项目漫谈 Spring 迷人的依赖注入特性, 使其已经稳稳的占据在 JavaEE 项目引用开…
不像在Eclipse,可以直接导出jar包.AndroidStudio只可以生成aar包. 在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了. 用jar命令就可以打包你所需要的资源,并指定jar包名. 在网上下载Volley源代码,导出jar包为例子. 在Volley项目工程中,我修改了下他的gradle版本,改为0.12+, 因为我是最新的gradle2.0.现在它的build.gradle文件如下: buildscript { repositor…
原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.htmlJAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成.JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管…
本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成. JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管它了. 让我们看…
jar包目录格式: |-- com | |-- test.class |-- META-INF | |-- MAINFEST.MF 一个正常的jar包下必有META-INF/MANIFEST.MF清单文件,该文件的标准格式为: 1. 常规属性 Mainfest-Version: JAR版本号Created-By: 生产者Signature-Version: 签名版本Class-Path: 依赖项列表,若存在多个依赖项时则采用空格分隔.依赖项路径为以JAR包路径为参考系的相对路径 注意:如果有依赖…
原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.htmlJAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成.JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管…
用eclipse普通的打包方式,对含有第三方jar包的项目进行打包.调用方法后一只出现java.lang.NoClassDefFoundError问题. 从网上搜寻,很多都是在MANIFEST.MF文件中添加Class-Path: lib/jaxrpc.jar,试了下这种方式,也没能解决问题. 之后搜了下使用eclipse的插件fat jar进行打包,√ 问题解决. 1.首先下载好,将plugins文件夹中的文件拷到eclipse下的plugins文件夹中,重启eclipse.查看windows…
Eclipse可以安装一个叫Fat Jar的插件,用这个插件打包非常方便,Fat Jar的功能非常强大首先要下载Fat Jar,下载地址:https://sourceforge.net/projects/fjep/files/ 下载后的文件是net.sf.fjep.fatjar_0.0.31.zip,解压下载好的ZIP包,将里面的Jar复制到Eclipse安装路径下的plugins文件夹中.如果Eclipse已经启动需要重启一下,没有启动直接打开Eclipse即可.打开Eclipse之后,右击要…