栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在运行时加载jar

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在运行时加载jar

URL可以,但是您仍然尝试从类路径加载jar,因此这意味着您需要首先在cp中保存文件。在您的情况下,您希望加载不在类路径中的jar,因此您必须使用URLClassLoader,对于JAR,您还可以使用JARClassLoader。如果您希望在其上获得一些示例课程,请访问:http
://docs.oracle.com/javase/ tutorial / deployment / jar /
jarclassloader.html

在这里,我一个人跑了一个样本,看看对您有没有帮助。它搜索不在我的类路径中的Log4j的Logger类,当然,由于没有将正确的参数传递给构造函数,因此在调用构造函数时遇到了异常

package org.stackoverflow;import java.io.File;import java.net.URL;import java.net.URLClassLoader;public class URLClassLoaderSample{  public static void main(String[] args) throws Exception  {    File f = new File("C:\_programs\apache\log4j\v1.1.16\log4j-1.2.16.jar");    URLClassLoader urlCl = new URLClassLoader(new URL[] { f.toURL()},System.class.getClassLoader());    Class log4jClass = urlCl.loadClass("org.apache.log4j.Logger");    log4jClass.newInstance();  }}Exception in thread "main" java.lang.InstantiationException: org.apache.log4j.Logger    at java.lang.Class.newInstance0(Class.java:357)    at java.lang.Class.newInstance(Class.java:325)    at org.stackoverflow.URLClassLoaderSample.main(URLClassLoaderSample.java:19)

由于错误的调用而导致的异常,尽管如此,在此阶段我们已经找到了该类



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453031.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号