2015-12-18 84 views
1

我正在通過Vogella Eclipse RCP書(第3版)中的「基於Todo」功能的RCP練習(「從插件到Eclipse RCP」)和I' m無法啓動應用程序。據我瞭解,該練習的目標是從一個插件項目開始,並使用插件作爲應用程序的基礎手動構建一個簡單的基於功能的RCP應用程序。我正在Mac上運行Mars版本(4.5.1)。我得到的錯誤是:設置基於eclipse功能的RCP應用程序的相關性問題

!SESSION Fri Dec 18 07:57:00 EST 2015 ------------------------- -----------------!ENTRY org.eclipse.equinox.launcher 4 0 2015-12-18 07:57:00.091!MESSAGE 啓動Eclipse平臺的異常:!STACK java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter at java.net.URLClassLoader $ 1.run(URLClassLoader.java:366)at java.net.URLClassLoader $ 1.run(URLClassLoader.java: 355)at

etc ....

這個問題很可能與我追溯到兩個相關觀察結果的缺失依賴有關。

首先,todo.product編輯器不包含本書中描述的Dependencies選項卡。相反,內容選項卡包含構成產品的功能列表。在該編輯器/選項卡中,當我點擊「添加必需」按鈕時,沒有任何反應。我可以使用「添加」按鈕添加該功能。本書的第3版要求用戶使用「添加」按鈕添加該功能以及其他三個不屬於功能的依賴項。但添加功能的對話框只允許我添加該功能。沒有其他匹配項目存在,並且在添加特徵之後,匹配項目列表是空的。

其次,todo.product文件不包含任何插件,雖然我的feature.xml的包含插件:

<?xml version="1.0" encoding="UTF-8"?> 
<feature 
     id="com.example.e4.rcp.todo.feature" 
     label="Feature" 
     version="1.0.0.qualifier" 
     provider-name="EXAMPLE"> 

    <description url="http://www.example.com/description"> 
     [Enter Feature Description here.] 
    </description> 

    <copyright url="http://www.example.com/copyright"> 
     [Enter Copyright Description here.] 
    </copyright> 

    <license url="http://www.example.com/license"> 
     [Enter License Description here.] 
    </license> 

    <plugin 
     id="com.example.e4.rcp.todo" 
     download-size="0" 
     install-size="0" 
     version="0.0.0" 
     unpack="false"/> 

</feature> 

有沒有人有任何建議,我可以嘗試或調查讓過去呢?

產品文件的編輯---附加的內容---

<?xml version="1.0" encoding="UTF-8"?> 
<?pde version="3.5"?> 

<product name="to-do" uid="product" id="com.example.e4.rcp.todo.product"     application="org.eclipse.e4.ui.workbench.swt.E4Application" useFeatures="true"   includeLaunchers="true"> 

    <configIni use="default"> 
    </configIni> 

    <launcherArgs> 
     <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts 
     </vmArgsMac> 
    </launcherArgs> 

    <windowImages/> 

    <launcher name="todo"> 
     <solaris/> 
     <win useIco="false"> 
     <bmp/> 
     </win> 
    </launcher> 

    <vm> 
    </vm> 

    <plugins> 
    </plugins> 

    <features> 
     <feature id="com.example.e4.rcp.todo.feature"/> 
    </features> 

    <configurations> 
     <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" /> 
     <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" /> 
     <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" /> 
     <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" /> 
     <plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true"   startLevel="0" /> 
     <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true"    startLevel="1" /> 
    </configurations> 

    <preferencesInfo> 
     <targetfile overwrite="false"/> 
    </preferencesInfo> 

    <cssInfo> 
    </cssInfo> 

</product> 

UPDATE

另一個觀察:當我使運行配置以驗證插件之前自動啓動我得到: enter image description here

然後,如果我刪除插件執行環境中的JavaSE-1.7條目,從而留下EEs列表爲空,荷蘭國際集團的依賴減少到:

enter image description here

但我還沒有想出如何解決這種依賴性。產品中的「內容」選項卡不允許我添加它。我可以將它添加到插件和todo.feature中,但會增加缺少的依賴關係的數量。我可以嘗試繼續添加插件和功能中的依賴列表,但這似乎並不是本教程的建議。我覺得我錯過了一些根本性的東西。

+0

「相關性」是在MANIFEST.MF/plugin.xml的編輯器,而不是編輯器。產品。 –

+0

我確實在插件中看到了「Dependencies」標籤,但是我在本書和在線中看到的所有產品屏幕截圖均在產品編輯器中放置了Dependencies標籤。另外,練習要求用戶添加org.eclipse.e4.rcp,org.eclipse.emf.ecore和org.eclipse.emf.common。如果我嘗試將這些添加到plugin.xml編輯器中,那麼只有org.eclipse.emf.ecore成功。其他人不是選擇。不知道顯示的是什麼。安裝問題? –

+0

實際上,我認爲.product編輯器中的'Dependencies'標籤在某些時候被重新命名爲'Contents'以避免混淆。 「內容」選項卡上的「添加」應向您顯示您在「概覽」選項卡上選擇的所有Eclipse功能「產品配置基於功能」。向我們展示.product文件的內容。 –

回答

0

我覺得你錯過的基本步驟可能是設置'目標平臺'。 轉到Windows - >首選項 - >目標平臺(搜索) 參考 Target Platform

如果沒有條目是在目標平臺窗口可用然後單擊添加 - >當前目標:從當前目標複製設置平臺 - >位置 這將是機器的位置,其中日食存在 參考 Setting Eclipse location