2017-09-28 368 views
0

我正在學習rcp開發,目前我嘗試將一些SWT小部件導入e4 RCP應用程序,但是我遇到了問題。通過外部eclipse項目在RCP應用程序中添加jar

我發現了XYGraph組件here的jar,並且從lars Vogel的教程中,我學會了在RCP應用程序中導入一些jar:我在eclipse中創建了一個「來自jar的項目」,其中我將所有的jar (不僅是上面提到的那些,還有來自星雲項目的其他人,但它與我得到的問題沒有關係)。 然後,我在我的RCP應用程序的清單文件中(在依賴性選項卡中)添加了帶有JAR的插件項目。 之後,我在part文件中添加了正確的「import」語句,並且所有語句都應該很好......但是當我啓動RCP應用程序(從產品文件中)時出現此錯誤: java.lang.NoClassDefFoundError:組織/日蝕/ Draw2D的/ IFigure 在該行51

這裏是我RCP @PostConstruct文件:一個箭頭顯示了線51

@PostConstruct 
public void postConstruct(Composite parent) { 
    parent.setLayout(new FillLayout(SWT.HORIZONTAL)); 

    Canvas canvas = new Canvas(parent, SWT.NONE); 

    LightweightSystem lws = new LightweightSystem(canvas); 


    // create a new XY Graph. 
    XYGraph xyGraph = new XYGraph(); <---- line 51 
    xyGraph.setTitle("Simple Example"); 
    // set it as the content of LightwightSystem 
    lws.setContents(xyGraph); 

    // create a trace data provider, which will provide the data to the 
    // trace. 
    CircularBufferDataProvider traceDataProvider = new CircularBufferDataProvider(
      false); 
    traceDataProvider.setBufferSize(100); 
    traceDataProvider.setCurrentXDataArray(new double[] { 10, 23, 34, 45, 
      56, 78, 88, 99 }); 
    traceDataProvider.setCurrentYDataArray(new double[] { 11, 44, 55, 45, 
      88, 98, 52, 23 }); 

    // create the trace 
    Trace trace = new Trace("Trace1-XY Plot", xyGraph.primaryXAxis, 
      xyGraph.primaryYAxis, traceDataProvider); 

    // set trace property 
    trace.setPointStyle(PointStyle.XCROSS); 

    // add the trace to xyGraph 
    xyGraph.addTrace(trace); 
} 

你有關於這個錯誤的起源的想法?

編輯: 這裏有所有的4個文件:

NebulaJars (jars plugin): MANIFEST.MF 
https://paste.ofcode.org/mchNUQdCpGde3Tf2yKp8Qr 
NebulaJars (jars plugin): build.properties 
https://paste.ofcode.org/J6UHffTrjvGfWvHSqunQks 
RCP project: 
MANIFEST.MF 
https://paste.ofcode.org/hR7ZkU85qXAqBPjTam53nV 
build.properties 
https://paste.ofcode.org/DWEc8SV9U85rHMKk4Eb9X3 

編輯2: enter image description here

+0

您是否已將包含這些jar的插件添加到插件的依賴關係中?您是否已將包裝導出到包含罐子的插件中?向我們展示兩個插件的MANIFEST.MF和build.properties。 –

回答

0

你加在XYGraph創建的清單文件的運行時間選項卡中的相應導出包(和其他人...) 插入 ?編輯1: 嘗試調整您的插件從您的啓動配置。您可以從Run-> Run Configurations ...菜單訪問啓動配置。檢查你的插件配置是否有效。

enter image description here

+0

你好,我解決了這個問題:我在網上找到了正確的jar,並且把它添加到jar插件中(使用你的提示),並且...我還有其他的錯誤,unxepected:最後一個是:「org.eclipse.e4 .core.di.InjectionException:java.lang.NoClassDefFoundError:org/eclipse/jface/resource/ColorRegistry「,雖然正確的類位於我的RCP項目的」插件依賴項「中。我不明白爲什麼這些類不在類路徑 – lolveley

+0

我有我的清單文件的依賴關係中的「org.eclipse.jface」 – lolveley

+0

我的意思是rcp項目的清單 – lolveley

相關問題