無法啓動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 一目瞭然