`
happyforever82
  • 浏览: 122764 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

add jar to classpath on runtime :动态载入java类。(相当有用)

    博客分类:
  • java
阅读更多

(哈哈,50多浏览量, 看的人挺多的啊。)

当你的系统不允许停机。 而又必须新的功能必须实现。 以load JDBC驱动为例, 下面是个好办法。

(可以在系统中预留上传jar文件的功能,再指定实现接口及实现类的路径 从而为系统的扩展性提供底层保障)

 

 

package p1;

import java.net.URL;
import java.net.URLClassLoader;

public class C1 {
  
 /**
  * @param args
  * @throws Exception
  */
 public static String path = "file:\\F:\\stock_exp\\lib\\mysql-connector-java-5.0.5-bin.jar";
 
 public static void main(String[] args) throws Exception {
  URL url = new URL(path); 

  URLClassLoader myClassLoader = new URLClassLoader(new URL[] {url} , 
          Thread.currentThread().getContextClassLoader()); 
  
  Class<?> s = myClassLoader.loadClass("com.mysql.jdbc.Driver");
  java.sql.Driver conn = (java.sql.Driver)s.newInstance();
  System.out.println(conn.toString());
 }

}

4
0
分享到:
评论

相关推荐

    浅析Spring配置中的classpath:与classpath*:的区别

    Spring 配置中的classpath:与classpath*:的区别 Spring 配置中的classpath:与classpath*:的区别是 Spring 框架中一个常见的问题。本文主要介绍了这两种路径的区别、使用场景及注意事项,以帮助读者更好地理解和使用...

    java动态添加外部jar包到classpath的实例详解

    "java动态添加外部jar包到classpath的实例详解" Java 动态添加外部jar包到classpath是指在Java应用程序中动态地加载外部jar包到classpath中,以便在不重新启动服务器的情况下使用最新的代码。这项技术在项目开发...

    Java环境配置与设置JAVA_HOME_CLASSPATH_PATH的目的

    CLASSPATH 环境变量是 Java 类路径,它的设置内容是 Java 类库的路径。例如,CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。 设置 CLASSPATH 环境变量的作用是为了告诉 Java 编译器和运行时环境_...

    java classpath 理解

    ### Java Classpath 理解 #### 一、在命令行查看 Classpath 在 Java 开发环境中,了解如何查看当前环境下的 classpath 非常重要。这有助于开发者明确类库和其他依赖项的位置,从而更好地管理项目的运行环境。 1. ...

    在linux和windows下动态设置classpath调用java类方法脚本代码

    本文将详细讲解如何在Linux和Windows操作系统下动态设置classpath以调用Java类方法,并提供实际示例和文档。 一、Linux环境下设置classpath 在Linux系统中,你可以通过以下几种方式设置classpath: 1. **命令行...

    Java程序调优插件ClassPath Helper/classpathchecker

    Java程序调优---去掉 java 项目中 多余的jar包 两个插件 一、ClassPath Helper 说明: 1.depends on:表示该类依赖于下面的jar包列表。 2.refrenced by:表示该类被下面的jar列表所依赖。 3.unresolved references:...

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

    在Java编程中,有时我们需要动态地加载外部JAR文件,并执行其中特定的类方法,这在插件系统、模块化应用或动态扩展性需求中尤为常见。本篇将详细讲解如何实现这一目标。 首先,理解JAR(Java Archive)文件是Java...

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

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

    关于执行java命令引入外部jar包方法

    另一种更为灵活的方法是在执行Java命令时动态指定JAR包位置,即使用`-cp`或`-classpath`参数。这允许在不修改系统环境变量的情况下临时指定类路径。例如,假设我们有一个名为`Test`的主类,它依赖于`mysqlJdbc.jar`...

    java的classpath的终结者(不会让你失望)

    ### Java的Classpath详解及其重要性 在Java编程的学习与实践中,环境配置是入门的关键步骤之一,其中最为棘手的问题之一便是如何正确设置`classpath`。`classpath`不仅影响着程序能否正常编译和运行,还关系到...

    java中path和classpath的设置

    假设你需要添加`D:\Program Files\Java\jdk1.6.0_16\lib\dt.jar`和`D:\Program Files\Java\jdk1.6.0_16\lib\tools.jar`这两个JAR文件到`classpath`中,你可以按照以下步骤进行设置: 1. **打开系统环境变量设置界面...

    Java 中的 ClassPath 和 Package

    例如,`-classpath .:/path/to/library1.jar:/path/to/library2`会告诉JVM从当前目录、`library1.jar`和`library2.jar`中查找类。 在创建可执行的`.jar`文件时,通常会包含一个名为`MANIFEST.MF`的配置文件,其中的...

    java 类从哪个jar包加载的

    Java类是从JAR(Java Archive)包中加载的,JAR文件是Java平台特有的归档格式,用于收集多个类文件、相关的元数据和其他资源(如图像文件或配置文件)到一个单一的文件中,方便分发和运行。 首先,我们来理解一下...

    Classpath Variable 解决办法

    在Java编程环境中,`Classpath`(类路径)是一个至关重要的概念,它是Java虚拟机(JVM)查找和加载.class文件的路径。当我们在开发和运行Java程序时,正确配置Classpath是确保程序能正常运行的关键步骤。这篇文档将...

    java txt 笔记.rar

    CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$PATH:$JAVA_HOME/bin:. export JAVA_HOME CLASSPATH PATH (将指定的环境变量声明为全局的) windows系统: 右击我的电脑--&gt;属性--&gt;...

    JAVA8_WINXP

    java8_winxp:解压后,直接修改环境变量4、配置环境变量: (1)配置JAVA_HOME: 变量名: JAVA_HOME 变量值: D:\DevTools\JDK\jdk1.8.0_152 (2)配置CLASSPATH: 变量名: CLASSPATH ...

    Java动态生成代码并编译载入.pdf

    Java动态生成代码并编译载入是一个高级的编程技术,主要用于那些需要在应用程序运行时根据某些模板和数据动态地生成、编译和加载Java代码的场景。这种技术在需要高度定制化处理或是运行时参数化生成业务逻辑的系统中...

    Drools报错:The Eclipse JDT Core jar is not in the classpath

    当出现"The Eclipse JDT Core jar is not in the classpath"这样的错误时,意味着系统在运行时找不到Eclipse JDT Core库,这是一个关键的依赖,因为Drools使用它来编译和加载用户定义的Java代码,特别是那些由DRL...

    java调用外部jar文件

    默认情况下,Java的系统类加载器会从类路径(CLASSPATH)中加载类,包括JRE自身的库、应用的主类路径以及任何用户指定的路径。但是,如果我们想要加载不在标准类路径中的jar文件,就需要自定义类加载器。 创建...

    java引入json的jar包

    下载完成后,我们需要将jar包添加到项目的类路径(ClassPath)中,以便在编译和运行时能够访问到这些库的API。 1. **使用Maven或Gradle** 如果你的项目使用了Maven或Gradle作为构建工具,那么引入JSON库会变得更加...

Global site tag (gtag.js) - Google Analytics