classloader相关内容

嵌入Tomcat 8的共享类加载器

我已将Tomcat从7.0.34版升级到8.0.33版,从那以后,我一直面临共享Web应用程序上下文和Junit上下文的问题。 我有一个带有Singleton类的Web应用程序,它收集有关该Web应用程序的统计数据。我还有在嵌入式Tomcat中运行Web应用程序的Junit。Junit查询Web应用程序,然后检查统计数据。 我试着做一个简单的例子: 单件: public ..
发布时间:2022-08-21 19:18:26 Java开发

Java:删除JAR后,类仍被加载

我试图重现一个错误,其中JAR被更新(通过Linux机器上的rsync),然后抛出NoClassDefFoundError。更新的JAR没有变化,但我在考虑这样一个事实,即文件在类加载时正在传输... 我现在正在尝试复制该错误。 我的应用程序启动时只有一个JAR的类路径(/opt/test/myjar.jar) 其他JAR位于myjar.jar(/opt/test/lib/myl ..
发布时间:2022-07-15 14:04:45 Java开发

Spring Boot Runnable JAR无法找到通过java.system.class.loader JVM参数设置的类加载器

在如下的模块结构中: 项目 |-公共模块 |-app模块 在app模块将公共模块作为依赖项的情况下,我有一个在公共模块中定义的定制类加载器类。应用程序模块-Djava.system.class.loader=org.project.common.CustomClassLoaderJVM参数设置为使用公共模块中定义自定义类加载器。 在IDEA中运行一个Spring Boot项目 ..
发布时间:2022-04-12 10:35:42 Java开发

类加载器:如何加载不同版本的JAR

我必须使用第三方平台,但该平台有无法替换的JARlibjar-1.0.0.jar旧版本。该平台允许我在其上运行我自己的(平面文件)包。我将libjar-2.0.0.jar的新版本放在我的包/包/包名称/外部-jar下。当我使用URLClassLoader加载libjar-2.0.0.jar,然后打印出所有声明的方法时,我能够看到2.0.0JAR中的方法。然而,当我调用时,我总是得到NoSuchMe ..
发布时间:2022-04-12 10:32:42 Java开发

哪个类加载器加载了所提供实例的类

在JEE环境中,了解特定类的加载位置非常有用。 例如,我有一个由某个黑匣子库提供的org.slf4j.Logger实例。有可能找到负责的类加载器吗?如果实例的类来自JDK、应用服务器、EAR或Web应用程序类加载器? 推荐答案 原来很简单。类加载器的名称由: 返回 object.getClass().getClassLoader().getName() 它返回类似于&q;ap ..
发布时间:2022-04-12 10:26:49 Java开发

ClassLoader.getResourceAsStream是如何工作的?

我已经用Maven创建了一个JAR文件。当我打开这个罐子时,我可以找到以下内容: my.jar |_text1.txt |_folder |_ ... some other stuff 当我在Eclipse中运行此代码片段时,";ext1.txt";的内容以及输出的文件夹内容中的所有文件名 String tmp = IOUtils.toString(App.clas ..
发布时间:2022-04-12 10:23:10 Java开发

如何避免Java中未使用的代码抛出NoClassDefFoundError

我正在进行的项目是一个支持两个不同平台的 API.在运行时,类路径中实际上只有两个平台中的一个可用. 在大多数情况下,我很容易就能编写出这样运行良好的代码 if (isPlatformOne()) {PlatformOne.doSomething();} 即使 PlatformOne 在运行时不存在,预先检查也意味着代码不会运行,不会抛出错误.这种技术适用于 VAST 的大多数情况,但是 ..
发布时间:2022-01-25 21:52:39 Java开发

通过 sbt 打包的 one-jar 中的类路径资源

我有一个使用 SBT 构建的项目,它使用 one-jar 插件打包单个 jar.该项目在 src/main/resources/fixture 中包含一堆 json 文件,我曾经通过 new java.io.File(App.getClass.getResource("/fixture").getFile 不幸的是,这不再起作用,因为没有返回资源.我认为 one-jar 使用了一种特殊的类加载 ..
发布时间:2022-01-24 22:15:02 其他开发

JVM如何加载Java中的父类

代码: A 类 {静止的 {System.out.println("正在加载一个静态 1");}静止的 {System.out.println("加载A静态2 B.c= "+B.c);}静止的 {System.out.println("加载静态 3");}静态int a=10;一个(){}}B 类扩展 A{静止的 {System.out.println("正在加载 B A.a= "+A.a);} ..
发布时间:2022-01-19 00:02:03 Java开发

在 JVM 中加载类时,类的不同部分按什么顺序初始化?

想象一个 Java 类,它具有您可以在一个类中找到的大多数特性.例如:它继承自另一个类,实现了几个接口,包括一些“静态最终"常量,一些最终常量,一些静态变量,实例变量,一个静态块,一个未命名的代码块(只是 {} 中的代码),构造函数、方法等. 当有问题的类第一次加载到 JVM 中时,类的各个部分按什么顺序初始化或加载到 JVM 中?JVM 中用于加载的调用堆栈是什么样的?假设这里只有一个类加 ..
发布时间:2022-01-18 23:59:55 Java开发

Struts2 + 类加载器漏洞 + 如何重现

如何重现安全问题 CVE-2014-0094.我用谷歌搜索,但找不到任何相同的参考. 解决方案 搞定了. 我必须启用日志记录(对于 ognl 包)才能看到错误. 将 class.classLoader.resource.dircontext.docBase=someText 等参数传递给 struts2 应用程序. localhost:8080/sampleApp/sho ..
发布时间:2022-01-16 22:09:26 其他开发