以后优快云的博客只写一些出现的问题和解决的方法

本文详细阐述了在使用Eclipse开发环境时遇到的JDWP错误,原因分析为Eclipse和JDK1.6版本之间的冲突,提供了两种解决方案以解决此问题。同时强调了官方文档的重要性,并分享了社区提供的额外解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        以后以后优快云的博客只写一些出现的问题和解决的过程方法。其它的东西,一些心得之类的,估计全部会放在JavaEye上,优快云广告太多了。不大好。


错误: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的网站上有 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6476706 目前还没有解决。

解决的办法:

虚拟机是否有一个控制台Console取决于所依赖的平台和虚拟机解析该方法的方式。如果虚拟机是从一个交互式的命令行中启动的,而没有重定向标准输入和输出流,那么虚拟机会自动的连接到键盘作为标准输入,并且把启动虚拟机的地方作为标准输出。如果虚拟机是自动启动的,例如通过后台的一个任务计划,那么典型的情况就是没有Console控制台……。
于是,思考一下我们运行上面程序的地点——Eclipse等集成开发环境,这对于上面描述中的把启动虚拟机的地方作为标准输出来说是不合适的,这里的Console()返回的默认情况下是Null,于是就产生了上面的出错信息。(也许未来Eclipse会有所改进吧)
怎么解决该问题呢?这里提供两条思路给大家(已经实际操作过,可以实现功能的正常运作)
1、使用命令行进行运行,编译可以使用集成开发环境。这样可以完成标准输出。
2、在程序中重定向标准输出到其他的设备或者方式(例如写到文本文件),这样也可以“比较不方便的”完成该功能。
总结:
重申!!文档很重要,特别是官方文档和一些说明书性质的文献资料。预期看什么XX天精通YY技术,还不如首先把官方的文档通读一遍。推荐Java Doc和MSDN Library。
看来找到问题所在了,不过还有网友的方法是在main函数后面加个System.exit(0);
可以解决这个问题。我试过了。

答案在:http://topic.youkuaiyun.com/u/20080102/22/604b09c3-6243-41a9-888e-9cf9c7493d7a.html四楼

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值