2011-06-29 28 views
0

我有一些建設者在我的.project文件有些似乎阻止做「東西」時,如果我取消不影響我的能力運行測試等等,因爲類文件本身已經被創建並放置在輸出目錄中。請解釋哪些Eclipse建設者實際上需要和如何修復緩慢建設者

  • 我似乎得到了很多可能連接到OSGI的「分析API」。
  • 我似乎也得到了很多的等待,而它與第三方jar中嵌入的一些XML模式的東西。如果我取消此生成器並沒有區別的一切仍然工程...林...混淆

    <buildSpec> 
    <buildCommand> 
        <name>org.eclipse.jdt.core.javabuilder</name> 
        <arguments> 
        </arguments> 
    </buildCommand> 
    <buildCommand> 
        <name>org.eclipse.pde.ManifestBuilder</name> 
        <arguments> 
        </arguments> 
    </buildCommand> 
    <buildCommand> 
        <name>org.eclipse.pde.SchemaBuilder</name> 
        <arguments> 
        </arguments> 
    </buildCommand> 
    <buildCommand> 
        <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> 
        <arguments> 
        </arguments> 
    </buildCommand> 
    

是否有列出每個建設者做什麼網頁,以及如何在任何地方更好地使用它,而不是讓它們運行並顯示錯誤和內容。

+1

您可否附上您的.project文件,以便我們看看建造者和性質的確切集合? –

回答

1

我想你是指「API分析生成器」,這來自PDE。在包資源管理器中選擇你的項目,右鍵單擊>屬性 - 尋找'建設者',並檢查這個建設者在那裏。

這個構建器只是驗證事情,Java代碼的編譯是由'Java Builder'完成的,它是一個獨立的實體,來自JDT。因此,事情就會起作用,因爲編譯的類在「API分析構建器」被調用時已經可用。

話雖如此,建設者不應該'阻止'。這可能需要一些時間,但不應該阻止。如果阻塞,那麼你可以嘗試以下的http://thecoderlounge.blogspot.com/2011/04/debugging-eclipse-builders.html

編輯指令調試:怎麼回答每一個建設者做

  • API分析生成器 - 見首選項>插件開發> API錯誤和警告API基線。所有這些選項都控制着這個構建器的行爲。此外,此構建器還會報告API兼容性問題,並幫助您對插件進行版本管理(@since標記)。此外,在Java構建器之後,此構建器需要大量時間,尤其是在您定義了API基線的情況下(我已經使用上述指令調試了此構建器)

  • 清單和模式構建器 - 請參閱首選項>插件開發>編譯器。這些選項控制這2個建造者。我認爲模式構建器會驗證plugin.xml並報告任何問題,並且類似的Manifest構建器驗證manifest.mf。我非常肯定這兩位建造者不需要太多時間來完成他們的工作。

現在你需要這些建設者嗎?這3個構建者都不是強制執行你的代碼。不過,我認爲Manifest和Schema構建器應該在那裏,否則在運行時會看到錯誤,而不是編譯時間。如果你想加快Eclipse內部的構建過程,你可以禁用API分析構建器(我有時會這樣做),這個構建器的錯誤/警告與程序行爲沒有任何關係。這個構建器試圖確保你是一個'好'API生產者和API消費者。

+0

是的,一些建造者的名字很明顯,比如JavaBuilder,但SchemaBuilder除了根據模式驗證xml文件外,還做了什麼。奇怪的事情SB吞噬了很多CPU時間,但我幾乎沒有XML文件在我的來源... –

+0

我感興趣的理由和理解每個建設者做什麼,爲什麼我應該啓用它。我很難在Schemabuilder上查找內容,以及如何更有效地使用它。 –

+0

我懷疑SchemaBuilder需要很多時間。不過,你是否有一些數據支持你的說法? –