2011-02-11 116 views
11

我有我使用Maven構建Java的Groovy的Eclipse項目。我已經將Maven Groovy插件添加到pom.xml中,這樣我就可以使用Maven在命令行上構建/測試Java和Groovy源代碼。創建蝕Groovy的Java項目與Maven

我想有一些方法可以從我的pom.xml自動生成Eclipse .project.classpath文件。如果我運行mvn eclipse:eclipse它似乎認爲它是一個Java項目,所以沒有辦法(例如)在Eclipse中運行src/main/groovy測試。

我使用的STS Eclipse發行,其中包括對Groovy/Grails的支持。我所缺少的是一種自動創建合適的.classpath.project文件的方法。

謝謝!

P.S.我知道的IntelliJ比較好,但是我沒有許可證

+0

什麼是你的最終目標是什麼?爲了使您的項目能夠在Eclipse中無縫工作或找到一種方法從您的maven文件中自動生成.classpath和.project?例如,Eclipse + Maven插件+ Groovy插件可以很好地協同工作。 – rochb 2011-02-11 19:35:12

+0

我的最終目標是讓項目在Eclipse中無縫工作。具體來說,我希望能夠編譯所有Java和Groovy,並從IDE中運行所有測試(無論是用Java還是Groovy編寫)。理想情況下,我希望能夠直接從pom.xml中自動生成此項目的結構。 – 2011-02-14 09:25:24

回答

5

你應該嘗試的Groovy-Eclipse的m2eclipse的整合。它可以在這裏找到:

http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.6/

有了這個安裝,你的Maven項目時,將自動要把它們導入您的工作空間配置爲Groovy的Eclipse項目。

+0

謝謝,這似乎工作得很好,是否有更新站點的完整版本(而不是快照更新站點)? – 2011-02-14 15:01:40

1

如果你想通過調用mvn eclipse創建一個Groovy項目:eclipse你必須配置你的項目。下面是一段代碼,如何配置maven eclipse插件,以便您的項目在Eclipse中成爲Groovy項目。順便說一下,該片段必須進入您的項目pom.xml

... 
<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-eclipse-plugin</artifactId> 
     <configuration> 
     <additionalProjectnatures> 
      <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature> 
     </additionalProjectnatures> 
     <sourceIncludes> 
      <sourceIncludes>**/*.groovy</sourceIncludes> 
     </sourceIncludes> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 
... 

現在,當您撥打MVN日食:日食行家創建的.project的.classpath文件。 的.project包含新的項目性質是什麼使它成爲一個Groovy項目和的.classpath包含* /*.groovy*什麼使Eclipse的處理,作爲一個源文件上.groovy作爲結尾的任何文件。

請另見http://maven.apache.org/plugins/maven-eclipse-plugin/examples/provide-project-natures-and-build-commands.html

8

下面是配置,我發現當Java調用Groovy代碼 和工作時的Groovy調用Java代碼的Groovy的Eclipse IDE插件(自然)內裝配好。

沒有必要爲常規附加源文件夾。它只是工作!

使用:

mvn clean install eclipse:clean eclipse:eclipse 
<dependencies> 
    <dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy-all</artifactId> 
     <version>2.0.4</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
       <compilerId>groovy-eclipse-compiler</compilerId> 
       <verbose>true</verbose> 
       <extensions>true</extensions> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-eclipse-compiler</artifactId> 
        <version>2.7.0-01</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.9</version> 
      <configuration> 
       <additionalProjectnatures> 
        <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature> 
       </additionalProjectnatures> 
       <sourceIncludes> 
        <sourceInclude>**/*.groovy</sourceInclude> 
       </sourceIncludes> 
      </configuration> 
     </plugin> 
    </plugins> 
</build>