怎么根据报错类找到jar包路径

怎么根据报错类找到jar包路径,第1张

1、首先思路是通过给定的包名,获取到该资源路径

2、其次判断该路径文件夹还是jar包,如果是文件夹,直接通过FilelistFile方法获取所有文件,找到类文件。

3、最后在类文件中找到jar包路径即可。

获取jar包的路径的方法:

xxxxxclassgetProtectionDomain()getCodeSource()getLocation()

其中xxxxx是类名

有些时候会遇到一些特殊情况需要紧急对线上应用进行修复,而且没有办法本地重新打包发布时,利用jar命令进行更新或打包会是处理该问题的一种方式。

比如:这次我们需要紧急更新线上应用中的xml文件内的一段sql语句。

命令行输入 jar 可以看到该命令用法如下:

文件会被提取到testjar同级目录中并且路径与jar包中存在路径一致

由于springboot规定嵌套的jar包不能在被压缩的情况下存储,因此如果打包或者更新命令未携带参数 '0' 的情况下,会出现如下报错:

此处需要注意。

1打包时,将资源放在asset文件夹内,通过AssetsManager获取指定资源:

目标应用和jar中的assets文件夹会合并,所以可以通过获取该应用的此类文件夹来获取目标资源

2使用library项目

此类方法不能混淆代码,也就是说发布时需要提供library源项目在引用此lib的目标项目中会看到一个包含已经编译成classdex的jar文件,这个文件反编译以后仍然是只有代码部分。

3使用双重library项目

提供一种双层library项目的方法,可以混淆代码,但是xml与资源仍然是暴露的,且发布时需要提供二级引用项目, *** 作上复杂度较高,不如直接提供jar包和资源

4直接提供jar包和资源(分开)

依然是反射R文件,资源会被暴露给开发者。

绝大多数Java程序员非常善于利用JAR文件的优势将各种包含Java解决方案的资源进行打包。面对JAR文件,人们询问的一个普遍问题是:“我何从一个JAR文件中

提取出一个图象文件?”。

为什么 要从jar中提取资源到本地磁盘? 如何 将资源保存到本地磁盘?导出这个文件 干什么

首先上来的灵魂三问。简单来说就是当你在服务器上测试或者support时,由于一般是没有合适的权限去在服务器上“写文件”,但是你运行的程序时是有这些权限的,所以你可以在程序中开一个窗口,比如定义一个API,当调用这个API的时候就可以把jar包里的资源文件导出并保存在服务器本地。

首先让我们定义一个class类来表示从资源文件夹中提取的文件

然后创建一个帮助类来从资源文件夹中提取文件并保存到本地磁盘。

ResourceLoader 是 Springframwork 里的“临时工”,主要用来干脏活累活的,其实就是的一个开箱即用的帮助类

最后你就可以在你的 Controller 里定义一个新的 GetMapping 接口。

调用上面创建的方法就可以 魔术般 的把文件搬到服务器上了。

如果有什么总是可以给我留言或者到我的网站上联系我

>

建立一个JavaResources对象,并将它初始化为一个包含我们感兴趣资源的JAR文件--Imagesjar。

然后使用JavaResources类的getResource()方法从logogif取出原始数据,然后调用AWT工具箱的createImage()方法从原始数据建立一个Image对象实例。

建立一个JavaResources对象,并将它初始化为一个包含我们感兴趣资源的JAR文件--Imagesjar。

然后使用JavaResources类的getResource()方法从logogif取出原始数据,然后调用AWT工具箱的createImage()方法从原始数据建立一个Image对象实例。

以上就是关于怎么根据报错类找到jar包路径全部的内容,包括:怎么根据报错类找到jar包路径、java中如何获取一个jar包的路径、利用jar命令更新jar包中文件或打包等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9511059.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存