2 pacosonswjtu PacosonSWJTU 于 2016.04.06 21:44 提问

对于URLClassLoader,Eclipse执行正确,而命令行执行抛出异常 20C

【0】问题描述
0.1)晚辈我想利用URLClassLoader 加载某目录下的class文件,执行结果发现,Eclipse执行正确,而命令行却抛出异常ClassNotFoundException,求各位前辈帮帮忙。。谢谢。

图片说明

 package com.tomcat.classloader;

import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;

public class URLClassLoaderTest {

    public final static String dir = System.getProperty("user.dir") + 
            File.separator + "webroot" + File.separator;

    public static void main(String[] args) {
        URL u;
        try {
            File file = new File(dir);
            URL url = file.toURI().toURL();
            URL[] urls = new URL[]{url};
            URLClassLoader loader = new URLClassLoader(urls);  

            Class<?> beanClass = loader.loadClass("servlet.Bean");
            System.out.println("hello, class loader.");
        } catch (Exception e) {
            e.printStackTrace();
        }  
    }
}
 public class Bean {

    public void sayHello() {
        System.out.println("Hello from loaded Bean class for servlet package!!!");
    }

    public static void main(String[] args) {
        System.out.println("i am a bean!");
    }
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
解决python在eclipse运行正常在命令行里运行提示包导入错误
最近遇到这样的文字,在eclipse写好的程序在
myeclipse中启动tomcat后console不显示,会跳出URLClassLoader.class
myeclipse中启动tomcat后console不显示,会跳出URLClassLoader.class如图: 可能是由于eclipse和tomcat的交互而产生的,在以debug模式启动tomcat时,发生了读取文件错误,eclipse自动设置了断点,导致tomcat不能正常启动。      解决方法如下:以debug模式启动tomcat,遇到问题时shutdown tomcat
java要在命令行运行eclipse的项目的方法
在命令行运行eclipse的项目时需要把该项目生成一个可以执行的jar包,才可以在命令行下执行;分为两种情况,一种是项目中没有调用第三方的jar包,这种比较简单,网上的资源也很多,本文主要讲述第二中情况该项目调用了第三方的jar包,生成该包有两种方法:
Eclipse可以运行但是命令行窗口却执行出错的原因
用了Eclipse几个月了,突然今天想用命令行执行但是在命令行中竟然出错了 你可以认为是环境配错了,可以去检查自己的jdk配置环境,但是我检查过没错 最后原来犯了一个很弱智的错误,那就是在Eclipse中我们常常会在包下创建java文件 但是在命令行的的时候一定要把你的包名去掉,否则会报上述错误的哈,相信大家不会犯这样的错误的哈!
Eclipse里面能执行,但命令行里不能执行class文件
报错:找不到或无法加载主类1.重新设置了环境变量,打开cmd输入java,javac,java- version检测无误。 但是命令行里到MyTest.class目录输入 java MyTest依然显示:错误,找不到或无法加载主类MyTest
prepareStatement()抛出异常
在记录日志时,有这样一条数据库操作语句: stmt = conn.prepareStatement("select nvl(max(log_id), 0) maxId from log_info;");   程序运行后抛出一大堆异常: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符  at oracle.jdbc.driver.SQLS
Python中带else子句的for循环执行过程
这几天在厦门讲课,每天6小时,没有太多时间写新代码,宾馆不知道咋想的也不提供WiFi,只好用手机做个热点临时分享一点基础知识,300M的包月流量伤不起,热点瞬间就把仅剩的40M流量用完了,赶紧发完关闭热点。在Python中,有while和for两种循环,并且都可以带有else子句。其中while循环常用于无法提前确定循环次数的场合,当然也可以用于循环可以提前确定的场合;for循环常用于可以提前确定
运用URLClassLoader加载外部jar包的java类,生成Class文件
先来一段网上copy的话术:       //**************************** 很多时候 我们写的java程序是分模块的,有很好的扩展机制,即我们可以为我们自己的java类添加插件,来运行将来某天我们可能开发出来的类,以下称这些类为插件类。 下边是一种简单的实现方法: Class A 作为程序的主入口,其中包含了程序的执行入口(main)函数。然后在
在命令行中运行eclipse中创建的java项目,适用于linux 操作系统
在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行  由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情况下正常运行。 一.环境说明:    eclipse---3.5    jdk-------1.6.0.22    os--------xp,win7 二.解决方
try ,finally都抛出异常如何处理.如果try中抛出了异常,在控制权转移到调用栈上一层代码之前, finally 语句块也会执行,如果finally抛出异常,try语句快抛出的那个异常就
package com.github.jdk7; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * try ,finally都抛出异常如何处理.如果try中抛出了异常,在控制权转移到调用栈上一层代码之前, * finally 语句块也会执行,如果finally抛出异常,