RCP 运行application,product时无法执行 Incompatible JVM提示 解决方法

来源:互联网 发布:mac win7 激活 编辑:程序博客网 时间:2024/05/29 18:10

无法启动RCP application,product程序

完整的提示信息是:<title>Incompatible JVM</title>Version 1.6.0_45 of the JVM is not suitable for this product. Version: 1.7 or greater is required.

条件:项目依赖了jdk1.6  但启动的时候 提示jvm启动需要1.7

对于不同的版本提示的版本可能不同。

尝试无用的方法:

1.右击project 修改Properties->java Compiler 为1.6

2.修改application的执行环境为JavaSE-1.6

3.在Run/Debug Configration -> plug-ins 移除以来1.7的插件


直接原因:

Run/Debug Configration ->Arguments  -Dosgi.requiredJavaVersion=1.7  指定了JVM启动时依赖jdk的参数

修改成1.6即可

深层分析:

这个参数配置你可能会很熟悉  这个和eclipse.exe同目录下  eclipse.ini(eclipse启动参数配置文件)中的参数也有它

如果我们修改了这个ini  改为:-Dosgi.requiredJavaVersion=1.6
重启之后 会不会新建的RCP程序的启动就会用1.6 

我满心欢喜的测试了一下,结果运行新的application 生成的新的Run/Debug Configration配置文件的参数依旧是-Dosgi.requiredJavaVersion=1.7

这时,好奇的你肯定会想这个参数是从哪里获得的呢?

经过我多番寻找

Eclipse的首选项中存在模板的设置:Windows->Preference->Plug-in Development->Target Platform中就是模板的参数设置来源

修改保存后 以后运行新的application就可以生效了。

1.从目录可以知道 这个设置 只是针对插件开发程序 是插件编译的参数

2.这个参数模板是每个工作空间独有的 当然你可以和项目分享  

3.它最初的参数是来自eclipse.ini 然后就自己独立了

还有更多的 自己探索吧

位于workspace的路径是:workspace\.metadata\.plugins\org.eclipse.pde.core\.local_targets  一目了然

0 0