当前位置: 首页 > 面试题库 >

如何从jar文件内存流中加载类

龙默
2023-03-14
问题内容

我正在构建一个Java应用程序,该应用程序的某些部分需要每日更新。我想将频繁更新的零件作为小jar文件从服务器下载到内存。我正在将jar文件下载为字节流,而不使用URLClassloader。

  1. 如何使jar文件中的类可从我的自定义类加载器供系统类加载器使用?

  2. 我如何确保下载jar文件和加载的类永远不会缓存或写入磁盘。


问题答案:

您可以从内存中加载自定义类加载器。您可以强制系统加载器从内存中加载指定的类。但是,您不能更改默认的系统加载程序以动态读取内存。



 类似资料:
  • 问题内容: 我正在尝试在Android平台上的运行时动态加载类。该类包含在单独的库JAR文件中,但与APK打包在一起(按照SDK中的新库机制)。使用Class.forname方法时,我收到未找到的类异常。我已经看到了有关DexClassLoader方法的一些讨论,但是我找不到如何使用它的好例子(以及是否是最好的使用方法- 它似乎比forname方法复杂得多!)。 如果有人可以提供示例代码片段来说明

  • 如何从jar文件中加载已编译的jasper报告,而不是通过硬盘驱动器上的特定路径? 我的报告在我的机器上运行良好,因为我已经设置了报告的路径: 但是当在另一台计算机上从完成的jar中工作时,报告没有被加载。所以我尝试使用输入流并将其传递给JasperFillManager,但是没有任何效果——输入流没有找到文件。我走错路了吗? 我最初的工作代码: 现在,更改后的代码不起作用: 任何帮助非常感谢!

  • 如何加载放置在可执行jar文件的资源文件夹中的属性文件。在这里,我的应用程序本身就是一个jar,它自己执行。它需要在运行时根据代码中提到的路径找到这个属性文件(放在资源文件夹下)。我用过以下两种方法,但都没用。这里的重点是,当我在eclipse中执行时,这两个选项都可以正常工作,但当我将其打包到可执行jar中时,这两个选项都不起作用。它抛出NullPointerException。我在这里看到的唯

  • 我有两个jar文件。第一个只包含接口 在请求的基础上,我试图从中加载我的实现类。jar文件存在于某个文件夹中,在运行时使用URLClassLoader。 课程正在加载 我确信这是由于我使用不同的类加载器来加载类,但是我如何克服类之间的兼容性问题。 同样的代码可以在正常的J2SE环境中工作,但不能在JBoss环境中工作。 如果我的查询不清楚,请让我知道我也可以粘贴源代码。

  • 问题内容: 我需要从罐子中加载属性文件。该罐子包含在war文件中。这是结构 现在,我在一个servlet中编写了以下代码,如下所示: 但是上面的代码我得到流为空。如果我将属性文件放在ROOT.war / WEB- INF中,则可以正常工作。我有一个不错的主意,如果getResourceAsStream中的路径以“ /”开头,那么它将在上下文根目录中搜索资源。但是,如何读取位于jar的资源,该jar

  • 我目前正在制作一个Minecraft Mod Loader。 正如您在上面看到的,我有一个名为Client的类。当Minecraft游戏启动时,启动被调用。现在我有一个名为Mods的文件夹,在调用startup时,我需要将Mods从Mods文件夹加载到ArrayList命名模块中。更深入地说,每个Mod将有一个继承这个模块类的主类 因此,在调用startup时,我需要遍历mods文件夹中的每个Mo