我嘗試添加幾個視圖到我的rcp項目。NullPointerException在org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout.addStandaloneView
起初,我使用插件項目嚮導創建了帶有視圖的插件項目。 視圖是由兩個擴展添加的:org.eclipse.ui.perspectiveExtensions和org.eclipse.ui.views。我開始了這個項目,並且看到這個視圖被成功添加了。
然後我嘗試以完全相同的方式添加幾個視圖。唯一的區別是「獨立」財產不存在。沒有錯誤地添加視圖。
比我試圖評論初始視圖的聲明並重新啓動應用程序。結果是一樣的 - 沒有顯示新的視圖。
比我添加屬性「standalone = true」到其他視圖的擴展名。 Аnd得到錯誤
java.lang.NullPointerException
at org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout.addStandaloneView(ModeledPageLayout.java:243)
at org.eclipse.ui.internal.PerspectiveExtensionReader.processView(PerspectiveExtensionReader.java:289)
at org.eclipse.ui.internal.PerspectiveExtensionReader.processExtension(PerspectiveExtensionReader.java:112)
at org.eclipse.ui.internal.PerspectiveExtensionReader.readElement(PerspectiveExtensionReader.java:350)
at org.eclipse.ui.internal.registry.RegistryReader.readElements(RegistryReader.java:145)
at org.eclipse.ui.internal.registry.RegistryReader.readExtension(RegistryReader.java:156)
at org.eclipse.ui.internal.registry.RegistryReader.readRegistry(RegistryReader.java:177)
at org.eclipse.ui.internal.PerspectiveExtensionReader.extendLayout(PerspectiveExtensionReader.java:76)
at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:4038)
at org.eclipse.ui.internal.WorkbenchWindow.setup(WorkbenchWindow.java:733)
我發現這個bug。並嘗試在Eclipse Mars上完成相同的操作。結果是一樣的。
我取消了用「獨立」屬性聲明初始視圖的聲明並從其他視圖刪除「獨立」屬性。錯誤消失。
我檢查了幾個生成的類中的代碼,沒有發現任何其他提及的初始視圖的創建或配置。
由項目嚮導創建的視圖與手動添加的視圖之間可能存在什麼其他差異?