不知道这个问题是否和Hibernate有关
不过在加载其他类时都没有问题,就是在加org.hibernate.cfg.Configuration时出错了?
异常代码:
[code]
Name=org.hibernate.cfg.ConfigurationSize=22877
Exception in thread "main" java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file <Unknown>
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at fanry.pub.MyLoader.loadClass(MyLoader.java:52)
at java.lang.ClassLoader.loadClass(Unknown Source)
at fanry.pub.MyLoader.main(MyLoader.java:10)
[/code]执行代码:
[code]
//Created on 2005-12-19
package fanry.pub;import java.io.InputStream;
import java.net.URL;
public class MyLoader extends ClassLoader {
private static int MAX_SIZE = 2000000; public static void main(String[] args) throws Exception {
new MyLoader().loadClass("org.hibernate.cfg.Configuration"); //运行出错
// new MyLoader().loadSysClass("org.hibernate.cfg.Configuration",true); //可以成功
} private Class loadSysClass(String name, boolean resolve)
throws ClassNotFoundException {
Class cls = findSystemClass(name);
// 如有必要,则装入相关的类
if (resolve && cls != null)
resolveClass(cls);
// 把类返回给调用者
return cls;
} /**
* 装入类
* @param name 名称
* @param resolve 是否解析
* @return 结果
* @throws ClassNotFoundException 出错
*/
public Class loadClass(String name, boolean resolve)
throws ClassNotFoundException {
URL url = getResource(name.replace('.', '/') + ".class");
if (url == null)
throw new ClassNotFoundException(name);
byte[] data = new byte[MAX_SIZE];
int size;
InputStream stream = null;
try {
stream = url.openStream();
size = stream.read(data);
System.out.println("Name=" + name + "Size=" + size);
} catch (Exception e) {
throw new ClassNotFoundException(e.toString());
} finally {
if (stream != null)
try {
stream.close();
} catch (Exception e) {
}
}
Class cls = defineClass(null, data, 0, data.length);
if (cls == null) //找到类
throw new ClassNotFoundException(name);
if (resolve) //需要解析
resolveClass(cls);
return cls;
}
}
[/code]
不过在加载其他类时都没有问题,就是在加org.hibernate.cfg.Configuration时出错了?
异常代码:
[code]
Name=org.hibernate.cfg.ConfigurationSize=22877
Exception in thread "main" java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file <Unknown>
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at fanry.pub.MyLoader.loadClass(MyLoader.java:52)
at java.lang.ClassLoader.loadClass(Unknown Source)
at fanry.pub.MyLoader.main(MyLoader.java:10)
[/code]执行代码:
[code]
//Created on 2005-12-19
package fanry.pub;import java.io.InputStream;
import java.net.URL;
public class MyLoader extends ClassLoader {
private static int MAX_SIZE = 2000000; public static void main(String[] args) throws Exception {
new MyLoader().loadClass("org.hibernate.cfg.Configuration"); //运行出错
// new MyLoader().loadSysClass("org.hibernate.cfg.Configuration",true); //可以成功
} private Class loadSysClass(String name, boolean resolve)
throws ClassNotFoundException {
Class cls = findSystemClass(name);
// 如有必要,则装入相关的类
if (resolve && cls != null)
resolveClass(cls);
// 把类返回给调用者
return cls;
} /**
* 装入类
* @param name 名称
* @param resolve 是否解析
* @return 结果
* @throws ClassNotFoundException 出错
*/
public Class loadClass(String name, boolean resolve)
throws ClassNotFoundException {
URL url = getResource(name.replace('.', '/') + ".class");
if (url == null)
throw new ClassNotFoundException(name);
byte[] data = new byte[MAX_SIZE];
int size;
InputStream stream = null;
try {
stream = url.openStream();
size = stream.read(data);
System.out.println("Name=" + name + "Size=" + size);
} catch (Exception e) {
throw new ClassNotFoundException(e.toString());
} finally {
if (stream != null)
try {
stream.close();
} catch (Exception e) {
}
}
Class cls = defineClass(null, data, 0, data.length);
if (cls == null) //找到类
throw new ClassNotFoundException(name);
if (resolve) //需要解析
resolveClass(cls);
return cls;
}
}
[/code]
解决方案 »
- java.io.FileNotFoundException(拒绝访问),在线等答案!!!!
- java程序如何做成可执行程序
- 要求是去掉小于98的记录 , 结果现在小于98的还在 。
- java删除文件
- 如何下载动态更新的ftp共享文件
- 运算符不懂了。。
- 菜菜级问题,难不到你们的吧!
- 求助,正则表达式的中文问题
- 请高手帮我看一下我写的关于CardLayout切换的代码问题在哪
- 我下载了一个JCreator,但是不知道该如何配置,请使用过的朋友告诉我该如何使用、培植JCreator.谢谢!!
- yqj2065(严千钧) 朋友来领个分,谢谢。
- 这行起什么作用:UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
没用过什么特殊的工具