2014-02-20 35 views

回答

0

我相信IntelliJ使用Ant作爲所有其他工具的適配器,因爲您可以使用它運行幾乎任何東西。

只需將以下build.xml添加到您的項目。

<project name="grunt" default="build"> 
    <target name="build"> 
     <exec executable="grunt"> 
      <arg value="build"/>   
     </exec> 
    </target> 
</project> 
+0

謝謝,但希望不要添加一個螞蟻文件 - 所以如果沒有其他選項... – Ian

+0

@Ian我沒有看到任何其他選項截至目前,但如果我找到任何東西,我會更新答案。你也可以發郵件給JetBrains支持,他們會給你最終的回答:) – kukido

0

當我對這個問題感興趣的時候,我偶然發現了這個問題。我使用IntelliJ Idea超過十年。現在,當我開始使用Angular,NodeJS/NPM並由Grunt構建時,我真的希望能夠無縫地繼續構建和啓動IDE中的開發工件,而無需任何手動步驟即可執行Grunt/browserify,即使它是在構建之前,「再次點擊按鈕」。所以...

作爲工件構建過程的一部分,在IntelliJ Idea中觸發Grunt任務執行的一種解決方案是添加exec-maven-plugin並將其綁定到執行階段,例如, prepare-package,最有可能在一些單獨的配置文件中。事情是這樣的:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.2.1</version> 
    <executions> 
     <execution> 
      <id>grunt</id> 
      <phase>prepare-package</phase> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      <configuration> 
       <executable>grunt${script.extension}</executable> 
       <workingDirectory>angular-app</workingDirectory> 
       <arguments> 
        <argument>--no-color</argument> 
        <argument>${grunt.task}</argument> 
       </arguments> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

現在,在「Maven項目」工具窗口,你可以用鼠標右鍵單擊列表,並標記相應的生命週期階段爲「執行前重新構建」。

這應該做的工作,並滿足您的要求不使用Ant。

但在我的情況下(雖然我不使用Ant作爲構建系統很長一段時間了,我也喜歡螞蟻太多了),我決定採取他的回答被@kukido提出的方法。這種方式我沒有修改Maven以適應IDE,我認爲這在概念上是不正確的,因爲構建系統(我的例子中的Maven)不應受IDE強加的任何影響。我真的認爲IntelliJ Idea這樣一個偉大的工具可以更進一步,並提供在IDE中準備工件的「預處理」時運行更多任意命令/目標的可能性。現在我將使用Ant作爲薄適配器,並保持我的POM清潔。