`

动态加载jar中的类

    博客分类:
  • java
 
阅读更多
URL url1 = new URL("file:D:/workspace/spider/plugin/plugin_fat.jar");
//加载类
  
URLClassLoader loader = new URLClassLoader(new URL[] { url1 }, Thread.currentThread().getContextClassLoader());  
Class<?> cls = loader.loadClass("com.test.plugins.impl.LaserPrint"); 
//创建实例 
IPrint print = (IPrint) cls.newInstance();  
//调用
System.out.println(print.print("test"));

 

package com.test.plugins.impl;

import com.test.plugins.IPrint;
public class LaserPrint implements IPrint
{

	@Override
	public String print(String param)
	{
		String result = "log time: " + System.currentTimeMillis()  + param;
		return result;
	}

}

 

package com.test.plugins;

public interface IPrint
{

	String print(String param);
	
}

 

 

分享到:
评论

相关推荐

    动态加载jar包

    在Java中,动态加载jar包的核心在于使用`java.lang.ClassLoader`类或其子类。ClassLoader是Java虚拟机(JVM)的一部分,负责将类的字节码加载到JVM中并转换为Class对象。默认情况下,JVM会使用系统类加载器来查找和...

    Java 动态加载jar文件示例

    使用自定义类加载器后,我们可以在程序运行时动态加载jar文件中的类。例如,如果我们有一个名为`com.example.Plugin`的插件类存在于jar文件中,可以这样加载: ```java String jarPath = "path_to_your_jar.jar"; ...

    android动态加载jar

    JAR中的类经过编译会生成DEX文件,因此可以通过DexClassLoader来加载JAR。 三、步骤 1. 将JAR文件放置在外部存储卡或内部存储的特定目录下。 2. 创建DexClassLoader实例,传入JAR文件路径、基类加载器、优化后的DEX...

    java 动态加载jar包

    在Java编程语言中,动态加载jar包是一种常见的需求,它允许程序在运行时根据需要加载新的功能或更新现有的模块,增强了软件的灵活性和可扩展性。动态加载jar包技术主要涉及Java的反射机制、类加载器和插件系统。下面...

    Spring bean 动态注册,jar包热替换

    Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class...测试示例中是spring boot 的部分代码,动态加载的内容为接口实现类,且初始化时加载本地的实现类,动态加载后改为非程序加载目录中的jar实现类。

    JAVA动态加载JAR zip包

    在Java编程中,动态加载JAR或ZIP包是一项重要的技术,它允许程序在运行时根据需求加载外部库,而不是在编译时静态地链接。这种技术对于实现插件化、模块化系统,或者处理频繁更新的组件非常有用。下面将详细讲解如何...

    动态加载jar包的实现

    在Java编程环境中,动态加载jar包是一项重要的技术,它允许我们无需重启服务器就能引入新的功能或更新已有的类。这在大型系统维护和迭代中尤为关键,因为它提高了系统的灵活性和可扩展性。以下是对"动态加载jar包的...

    在可执行jar中载入第三方jar的几个解决方法

    这个问题通常发生在使用`Class.forName()`或`ClassLoader.getSystemClassLoader().loadClass()`尝试动态加载第三方JAR中的类时。 Java虚拟机(JVM)的类加载机制是导致此问题的关键。自JDK 1.2以来,JVM采用委托...

    android动态加载jar文件

    有些项目需要(根据机型)动态加入jar包,该资源包含了一个在android工程中动态加载jar文件的小程序,注释详细,需要注意我们的jar文件是需要经过dx处理过的,可参考博客:...

    Java URLClassLoader动态加载jar包1

    Java URLClassLoader 是Java标准库中的一个类加载器,它允许我们动态地从指定的URL位置加载类和资源。这个功能在开发插件系统、热部署或者处理多种版本库的场景中非常有用。从JDK 1.2开始,`java.net.URLClassLoader...

    springboot动态加载jar包到容器中,并映射为接口

    本文将详细介绍如何在 Spring Boot 应用中动态加载 Jar 匼到容器中,并将其中的控制器和服务层映射为对外提供的接口。 #### 二、技术实现原理 ##### 2.1 Spring Boot 动态加载 Jar 匼 Spring Boot 应用程序启动时...

    jar包中类的加载及jar中资源的使用

    本文将深入探讨`jar`包中类的加载机制以及如何在Java程序中使用`jar`中的资源。 一、类的加载机制 1. 双亲委托模型:Java的类加载器遵循双亲委托模型,即当一个类加载器需要加载某个类时,它首先会委托给父类加载...

    springboot+java类热加载

    例如,`MemoryClassLoader.java`可能就是一个自定义类加载器的实现,它可以在内存中动态加载或更新类。 **JarinJAR**是一种打包技术,它可以将多个JAR文件打包成一个大的JAR文件。在热加载场景下,JarinJAR使得在...

    动态加载jar

    4. **权限隔离**:某些敏感或第三方服务可以封装到单独的JAR中,只在需要时加载,以减少应用的权限需求和隐私泄露风险。 三、实现动态加载JAR 1. **创建ClassLoader**:首先,你需要创建一个新的ClassLoader,通常...

    android动态加载jar文件中的图片

    Android系统默认不支持直接从jar中读取非类文件,所以我们需要自定义解决方案。 步骤1:创建包含图片的jar文件 在项目中,我们可以创建一个新的目录,如`res_images`,然后将所有图片放入此目录。接着,使用工具...

    Java 自动加载JAR文件并运行其中的类方法

    3. **加载类**:使用加载的类加载器,我们可以加载JAR中的类。例如,如果我们知道类名为`com.example.MyClass`,我们可以这样加载: ```java String className = "com.example.MyClass"; Class&lt;?&gt; clazz = ...

    JAVA动态加载JAR文件

    JAVA动态加载JAR文件以及反射调用其方法

    android 动态加载jar代码

    在Android开发中,动态加载jar代码是一种常见的技术,它允许应用程序在运行时加载新的功能或者更新已有代码,而无需重新安装整个应用。这种方式可以提高应用的灵活性和可维护性,尤其是在处理大型应用或需要频繁更新...

Global site tag (gtag.js) - Google Analytics