ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JD

问题:运行单元测试类(比较重载与重写的区别)时报错,
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:820]

原因:
eclipse和jdk1.6的版本冲突 sun的网站上有[url] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6476706[/url]目前还没有解决

虚拟机是否有一个控制台Console取决于所依赖的平台和虚拟机解析该方法的方式。如果虚拟机是从一个交互式的命令行中启动的,而没有重定向标准输入和输出流,那么虚拟机会自动的连接到键盘作为标准输入,并且把启动虚拟机的地方作为标准输出。如果虚拟机是自动启动的,例如通过后台的一个任务计划,那么典型的情况就是没有Console控制台......。

解决:
1、使用命令行进行运行,编译可以使用集成开发环境。这样可以完成标准输出。
2、在程序中重定向标准输出到其他的设备或者方式(例如写到文本文件),这样也可以"比较不方便的"完成该功能。
3、在main函数结束时,添加system.exit(0);
System.exit(0)与return的区别

结论:
报错,但不影响运行

参考文献:
http://blog.csdn.net/zxl0016/article/details/7327125
http://blog.csdn.net/mmllkkjj/article/details/6149043

猜你喜欢

转载自mingyundezuoan.iteye.com/blog/2211937