2012-05-22 90 views
1

我想在eclipse插件(eclipse:eclipse)的eclipse目標運行後運行一些代碼。如何在eclipse後執行代碼:eclipse在maven中?

eclipse插件的文檔說,生成資源階段在eclipse目標之前執行,但它沒有提到在之後執行的任何階段。 我想包括與gmaven-插件的代碼,但我無法找到正確的配置:

<execution> 
    <id>delete_generated_sources_from_cp</id> 
    <phase>generate-resources</phase> 
    <goals> 
     <goal>execute</goal> 
    </goals> 
    <configuration> 
     <providerSelection>1.7</providerSelection> 
     <source> 
      modifyClasspath.groovy 
     </source> 
    </configuration> 
</execution> 
+1

這裏的問題是你調用一個目標而不是Maven的生命週期。換句話說,Maven的生命週期不僅僅運行maven-eclipse-plugin的特定目標,而不是運行在項目中的生命週期。也許你可以提供更多細節,你想達到什麼樣的目標,這樣可能會有其他的機會。 – khmarbaise

回答

1

只需添加要執行到項目的插件。 mvn eclipse:eclipse otherplugin:goal

+0

將執行添加到流程資源階段並調用例如'mvn install'也有訣竅,但我希望在調用'mvn eclipse:eclipse'後運行代碼,這樣就不會有任何可能犯下錯誤。 –

+0

如果你想運行mvn eclipse:eclipse,唯一的選擇是我的答案中的第二個選項。如果這是你想要的,你也應該從上面的配置中移除執行塊,否則當你調用mvn install時它也會運行。 –

+0

好吧,那就是我的想法。謝謝。 –

1

蝕:如果您添加插件的執行的階段process-resources將Eclipse插件後,如果您運行mvn process-resources(或處理資源之後的任何階段)

你也可以直接調用它們執行:日食並不是執行代碼的好方法。我的意思是如果你想將項目導入到eclipse中,你應該使用'eclipse:eclipse',否則你不應該這樣做。

執行代碼取決於你的代碼;如果這是基於Web的,則應將其部署到應用程序服務器中。如果它具有可執行主類,則應該使用'java'命令執行它。

我想包括與gmaven-插件的代碼,但我無法找到正確的配置

我不明白你的意思。你能解釋更多嗎?

+0

我想執行的代碼與由eclipse插件生成的.classpath文件密切相關。 groovy集成插件的問題在於它生成了一個生成的源代碼/ groovy-stubs文件夾,該文件夾被添加到eclipse中的構建路徑中並導致問題。一個簡單的解決方案是從構建路徑中刪除它。爲了自動執行此操作,我想在eclipse之後附加一些代碼:eclipse插件已執行,這將修改.classpath文件。 –

相關問題