关于java jar包说明

这篇具有很好参考价值的文章主要介绍了关于java jar包说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

复杂的java应用,或者library,最终会以jar文件形式发布。

jar分为两种:

FatJar (JDK自己的)

包含应用程序所有内容,包括配置等资源文件、依赖其它lib的jar文件
mvn package默认打出来的包。平常我们我们打的包,都是FatJar

FatJar存在形式,如下:

  • jar包类型。通过pom.xml中jar指定
  • war包类型。通过pom.xml中war指定

ThinJar(Spring提供的)

仅包含核心代码。其它资源文件、依赖其它lib的jar文件。

ThinJar启动时,通过-Dloader.path=${resources_path},${lib_path}来指定并引用。
这种启动方式,是PropertiesLauncher机制。

PropertiesLauncher,默认从当前目录或者classpath,寻找loader.properties文件。
也可以通过System properties变量loader.config.location来设置loader.properties文件的位置。
如果文件不存在,也可以通过System properties进行相关设置

loader.properties文件内容主要包含两个变量,如下:

  • loader.path: a comma-separated list of directories (containing file resources and/or nested archives in *.jar or *.zip or archives) or archives to append to the classpath. BOOT-INF/classes,BOOT-INF/lib in the application archive are always used
  • loader.main: the main method to delegate execution to once the class loader is set up. No default, but will fall back to looking for a Start-Class in a MANIFEST.MF, if there is one in ${loader.home}/META-INF.

ThinJar存在形式,如下(同FatJar):

  • jar包类型。通过pom.xml中jar指定
  • war包类型。通过pom.xml中war指定

另外,还需要在pom.xml中spring-boot-maven-plugin进行配置:

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
    <fork>true</fork>
    <layout>ZIP</layout>
 </configuration>
</plugin>xml

关于PropertiesLauncher,请参考文章来源地址https://www.toymoban.com/news/detail-702262.html

  • executable-jar Doc
  • PropertiesLauncher API

到了这里,关于关于java jar包说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于Yolov7-tiny模型瘦身(param、FLOPs)碎碎念

    优于模型落地需要,yolov7-tiny版本的参数量(Param)为6.2M,FLOPs在输入为320*320下为3.46G,想着还能不能再进行减少这两者或其中之一(精度方面还未做效果验证)。 于是翻遍了github,没有关于v7的剪枝方法,替换backbone也大部分是基于yolov5s的,眼花缭乱中看到yolov7的github官方作者的

    2024年02月05日
    浏览(51)
  • 关于exe4j如何将java jar包打包成windows系统exe可执行文件,并包含JDK环境,超详细教程

    最近做了几个javaFX桌面软件,因为是maven项目,最后打包出来的是jar包,windows系统下要运行jar包,首先要安装JDK环境,然后敲命令:java -jar xxx.jar,才能运行程序,这样会显得很麻烦。而且前提是用户已经安装了JDK环境,所以实用性大大降低。这时就需要把jar包转化成exe可执

    2024年04月28日
    浏览(50)
  • ‘dependencies.dependency.systemPath‘ for *:*:jar must specify an absolute path but is

    下面是一张模块与子模块的目录图  kingdeekingdee-bizpom.xml依赖本地lib/k3cloud-webapi-sdk8.0.4.jar,配置如下: pom.xml报错提示: \\\'dependencies.dependency.systemPath\\\' for kingdee:kingdee:jar must specify an absolute path but is ${project.parent.basedir}/lib/k3cloud-webapi-sdk8.0.4.jar 意思是说:systemPath 只认识绝对路径

    2024年02月08日
    浏览(41)
  • Java代码瘦身,巧用 @Valid,@Validated 的分组校验和嵌套检验,实现高阶参数校验操作

            在 JavaEE 项目中, RestFull 层接收参数首先要对一些字段的格式进行校验,以防止所有查询都落到数据库,这也是一种合理的限流手段。以前基本上都是用 if...else...,这样的代码太啰嗦,除了使用策略模式进行优化,今天介绍一下校验注解@Valid,@Validated和@PathVariable,

    2024年02月04日
    浏览(47)
  • 关于jar包的命令:运行jar包时指定端口、直接修改jar包里的配置文件

    如下:指定端口为8081,不管jar包里面之前是指定了什么端口号,最终访问服务时还是以8081这个端口进行访问 vim进入jar包后,会有类似如下的的内容 在定位到具体某行(文件名)后,该文件会有提示,直接回车进入编辑模式,即可编辑了

    2024年02月12日
    浏览(52)
  • 关于打开keil工程文件是出现“contains an incorrect path”现象

    复制一个工程文件,打开工程最后出现“contains an incorrect path” 进行全局编译,并无异常,烧录两台设备其中一台烧录正常,一台出现以下现象:即“content mismatch at :0x00XXXXXXX”  单片机实际FLASH为128K  编译后仅使用40多K,应该不是程序过大导致  尝试用小些(约38K)程序烧

    2024年02月15日
    浏览(49)
  • 关于安卓jar包修改并且重新发布

    背景: 对于某些jar包,其内部是存在bug的,解决的方法无外乎就有以下几种方法: (1)通过反射,修改其赋值逻辑 (2)通过继承,重写其方法 (3)修改jar包的源码,从根源上修复问题 对于改动量,难易程度,(1)和(2)都是比较适合的,但是,有些情况下,不能满足修

    2024年02月13日
    浏览(46)
  • 关于安卓打包生成aar,jar实现(一)

    关于安卓打包生成aar,jar方式 背景 在开发的过程中,主项目引入三方功能的方式有很多,主要是以下几个方面: (1)直接引入源代码module(优点:方便修改源码,易于维护,迭代。缺点:对于新手不友好,可能会遇到依赖兼容问题,需要排除并且适配) (2)远程依赖,目

    2024年02月13日
    浏览(41)
  • 关于num_steps_all = len(train_loader) // configs.gradient_accumulation_steps * configs.epochs的理解,文心一言

    当然可以,我会尽量用简单的语言来解释这行代码。 这行代码计算的是在整个训练过程中,模型参数会更新的总次数。 len(train_loader) :这表示你的训练数据被分成了多少份(或称为“批次”)。想象一下你有100张纸,每张纸上写了一些训练数据,那么这里的 len(train_loader) 就

    2024年02月03日
    浏览(32)
  • 关于自定义程序打包成jar包,并读取配置

    在实际开发过程中,我们有时候有把你编写的一段程序打成jar包的需求,而一些配置是需要去配置文件里面读取关于这项目的一些配置,本人在网络上查询了众多的资料,总的来说可以归为3类   老生常谈,在dao层从数据库获取配置信息,然后返回到Service层进行业务逻辑处理

    2024年02月15日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包