无法启动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 一目了然
2399

被折叠的 条评论
为什么被折叠?



