这个“java错误提示”什么意思

 我来答
anglewang98
推荐于2016-07-25 · TA获得超过535个赞
知道小有建树答主
回答量:420
采纳率:80%
帮助的人:315万
展开全部

java调用c的程序的时候需要JNI运行环境,但是没有找到运行环境就报这个错了 AGENT_ERROR_NO_JNI_ENV

以下引用他人blog

错误: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、在程序中重定向标准输出到其他的设备或者方式(例如写到文本文件),这样也可以“比较不方便的”完成该功能。不过还有网友的方法是在main函数后面加个System.exit(0);
可以解决这个问题。我试过了。
小傻

2018-07-05 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11575 获赞数:31141
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
1楼已经说出了错误的所在,如果一个class命名为public的话,那么java的文件名也要保持一致,如果不是public,也是需要一致的,不能胡乱命名
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式