2013-07-25 70 views
0

我在Eclipse 3.7中有一個工作插件Views和一個Perspective
現在我嘗試將其移至Eclipse Kepler 4.3,因此我遵循Tutorial from Jonas Helming
我的所有視圖都基於另一個插件中的TemplateView。此TemplateView已轉換爲e4風格POJO視圖。
我的插件擴展了TemplateView並添加了包裝類(如教程中所述)。3.x Eclipse Kepler依賴注入

如果我運行我的應用e3風格(意味着TemplateView延伸ViewPart)一切都很好,Perspective被添加。 但是,當我改變它的e4風格(意味着TemplateView延伸POJO和我使用包裝在我的plugin.xml)日食不再顯示Perspective及其Views

e3View是不是真的很有趣,因爲它主要是用我定製的API(這隻會混淆這裏&它工作正常 - 因爲它開始作爲e3

,這是e4包裝類:

import org.eclipse.e4.tools.compat.parts.DIViewPart; 
import lumo.views.contact.e3.PojoDetailView; 

public class E4DetailView extends DIViewPart<PojoDetailView> { 
    public E4DetailView() { 
     super(PojoDetailView.class); 
    } 
} 

這個問題是part of this question,但沒有欺騙

回答

0

解決方案: 它非常重要,你可以使用@InjectAnnotation的構造函數,並將Composite parent作爲參數,然後創建內容。像這樣:

@Inject 
public PojoDetailView(Composite parent) { 
    // either put creation code here or call the 3e styled function 
    createPartControl(parent); 
} 

我的錯誤是,我有一個普通的建築工和createPartControl(Composite parent)Annotation@PostConstruct(這應該DI後執行,但顯然沒有)