classloader相关内容

如何包含同一依赖项的两个不同版本?

我正在使用 Java 对 ERP 系统进行自定义.在我的自定义中,我想使用 Apache POI 3.10.1.因此我已经整合了 jars poi-3.10.1-20140818.jar 和 poi-ooxml-3.10.1-20140818.jar. 然而,这些 jars 包含几个类,这些类已经包含在 ERP 系统的核心代码中,但存在差异. 如果核心 ERP 类覆盖 POI 类,则自 ..
发布时间:2021-11-12 04:41:07 Java开发

OSGi 中 Java 类加载器的使用

我有一个关于在 OSGi 中使用 Java ClassLoader 的问题. 我编写了两个 OSGi 包,即服务器包和客户端包. 在服务器包中,我实现了 BundleActivator,如: public class Activator 实现 BundleActivator {公共无效开始(BundleContext上下文){System.out.println("[Server:A ..
发布时间:2021-11-12 03:46:26 Java开发

java.lang.IllegalArgumentException: Jetty ALPN/NPN 尚未正确配置

获取 java.lang.IllegalArgumentException: Jetty ALPN/NPN 未正确配置,同时使用 gRPC(google pub/sub) 发布/使用来自 卡夫卡. 解决方案 按照谷歌的建议,使用 jetty 容器而不是 tomcat,此解决方案有效,但在我们的生产中,应用程序部署在 tomcat 容器上,但当然我需要它在生产中使用 tomcat. 调试g ..
发布时间:2021-11-12 02:02:56 Java开发

Groovy with Grape 和 AntBuilder 类加载器问题

我想将 groovy 用于一个小的 ftp 脚本并找到了这篇文章 http://www.hhhhq.org/blog/2009/05/01/ftp-using-groovy-and-ant/由于有几个依赖项,我想使用 Grape.所有依赖项都已解析并存在于缓存中.但是我无法让 Ant 在其他库中找到可选任务.它总是说 Caught: : 问题:无法创建任务或键入 ftp原因:找不到类 org.a ..
发布时间:2021-11-11 02:30:46 其他开发

字节码注入发生在哪里?

动机 我有一个 SomeObject.java 文件: class SomeObject {字符串名称;} 编译它会创建一个包含字节码的 SomeObject.class 文件. 0xCAFEBABE... 如果我们在 JVM 上使用 SomeObject,它会被当前的类加载器加载并且一切正常. 现在让我们假设我想要一些动态代码生成.我可以编写我的自定义注释 @Target( ..

Java - 加载带注释的类

我知道有很多令人难以置信的工具可以在 Java 中加载插件类,但今天我想到了一个想法. 如果我在包“org.home.junk"中有一堆注释和未注释的类(用注释“@AnnotatedClass"注释)并且这些类有注释的方法,说注释“@AnnotatedMethod". 第一个问题:我能否在运行时获取该特定包中所有类的数组/集合,以便我可以检查哪些类被注释并创建它们的实例.(但是我知道如何检 ..
发布时间:2021-11-10 22:12:57 Java开发

在运行时扫描 Java 注释

如何在整个类路径中搜索带注释的类? 我正在做一个库,我想允许用户注释他们的类,所以当 Web 应用程序启动时,我需要扫描整个类路径以获取某些注释. 我正在考虑 Java EE 5 Web 服务或 EJB 的新功能.您使用 @WebService 或 @EJB 注释您的类,系统会在加载时找到这些类,以便远程访问它们. 解决方案 使用 org.springframework.con ..
发布时间:2021-11-10 21:56:32 Java开发

在 jvm 具有相同名称但版本不同的 jar 的情况下,类加载器如何工作,哪个将在运行时加载或两者都将加载?

有两个同名的 jars 正在应用程序中使用,但用于不同的目的.例如,jar 的名称是“A1.jar".有不同的版本并在 if else 条件下使用. 如果是这样:然后 A1-10.2.3jar.create()别的:然后 A1-8.18.0jar.create() 反过来又具有不同的 create 方法实现. 问题是当应用加载时,类加载时会实例化哪个jar?或者根据条件加载相应的jar? ..
发布时间:2021-09-25 18:31:53 Java开发

在哪些情况下需要远程加载类?

远程类加载是指加载在执行位置未显示的类. 例如,Java Applet需要将类从服务器加载到本地并在本地执行. 某些包含URLClassLoader的程序需要从网络加载类,并在本地执行. RMI怎么样?我找到了一个名为RMIClassLoader的类?是远程类加载吗? 解决方案 如果要编写应用程序服务器或类似服务器.IE. JPPF使用远程类加载来执行分布式计算. ..
发布时间:2021-04-22 19:10:50 Java开发

Java,自定义类加载器的问题

我正在编写一个自定义类加载器以加载我的一些类(不是全部). 类加载器非常简单: 公共类loadClass(String className,boolean resolve)抛出ClassNotFoundException {类cls = findLoadedClass(className);if(cls!= null){返回cls;}//首先搜索加密的类cls = decryptClass ..
发布时间:2021-04-22 19:10:47 Java开发