ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2
原因:tomcat-eclipse-plugin插件启动报错
ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2

原因:JDK版本问题
查阅Java Doc,发现其中有这么一段话: 

http
://download.java.net/jdk6/docs/api/java/io/Console.html 

"Whether a virtual machine has a console is dependent upon the underlying platform and also upon the manner in which the virtual machine is invoked. If the virtual machine is started from an interactive command line without redirecting the standard input and output streams then its console will exist and will typically be connected to the keyboard and display from which the virtual machine was launched. If the virtual machine is started automatically, for example by a background job scheduler, then it will typically not have a console." ">http://download.java.net/jdk6/docs/api/java/io/Con..." 

翻译一下: 

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

于是,思考一下我们运行上面程序的地点
——Eclipse等集成开发环境,这对于上面描述中的把启动虚拟机的地方作为标准输出来说是不合适的,这里的Console()返回的默认情况下是Null,于是就产生了上面的出错信息。(也许未来Eclipse会有所改进吧) 

怎么解决该问题呢?这里提供两条思路给大家(已经实际操作过,可以实现功能的正常运作) 

1、使用命令行进行运行,编译可以使用集成开发环境。这样可以完成标准输出。 
2、在程序中重定向标准输出到其他的设备或者方式(例如写到文本文件),这样也可以
"比较不方便的"完成该功能。






Feedback

# re: ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2[未登录]  回复  更多评论   

2008-04-14 11:49 by lvq810
是不是jdk 6 在Eclipse等集成开发环境中的控制台输出就会出现这样的错误?

# re: ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2  回复  更多评论   

2008-04-14 12:09 by Robert Su
貌似要加参数。
我的eclipse是3.2
不知道新的Europe版本会不会改进

# re: ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2  回复  更多评论   

2008-05-07 11:32 by linwen
@Robert Su
如果我是jbuilder2006 用到 tomcat 6.0 不知道这样有问题吗

# re: ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2  回复  更多评论   

2008-06-16 10:40 by wsj
有个简便的方法解决改问题就是在main函数后面加上System.exit(0)

# re: ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2  回复  更多评论   

2008-07-25 15:56 by sinopac
3.4了,还是没有改

# re: ERROR:JDWP Unable to get JNI 1.2 environment ,jvm-> GetEvn() return =-2  回复  更多评论   

2008-08-11 14:52 by sd
我换到默认文件夹下后就没有这个问题了,
不知怎么回事,汗!

# 小酒窝长睫毛  回复  更多评论   

2008-12-09 14:46 by 迷人的无可救药
小酒窝长睫毛 迷人的无可救药 我放慢了步调

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 103, comments - 104, trackbacks - 0, articles - 5

Copyright © Robert Su