2013-02-01 53 views
3

我有工作maven 2安裝程序編譯在groovy編寫的jUnit測試。 Java和常規測試位於/ src目錄/ test/java下gmaven-plugin適用於groovy 1.7.5,但不適用於2.1.0

見的pom.xml

<plugin> 
    <groupId>org.codehaus.gmaven</groupId> 
    <artifactId>gmaven-plugin</artifactId> 
    <version>1.3</version> 
    <executions> 
     <execution> 
     <id>testCompile</id> 
     <goals> 
      <goal>testCompile</goal> 
     </goals> 
     <configuration> 
      <sources> 
       <fileset> 
        <directory>${pom.basedir}/src/test/java</directory> 
        <includes> 
         <include>**/*.groovy</include> 
        </includes> 
       </fileset> 
      </sources> 
     </configuration> 
     </execution> 
    </executions> 
</plugin> 

<dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy</artifactId> 
    <version>1.7.5</version> 
    <scope>test</scope> 
</dependency> 

的快照,當我升級到插件版本1.5和Groovy 2.1.0,* / .groovy文件被忽略。有人遇到這個問題嗎?

+1

我不使用GMaven編譯groovy腳本,而是執行腳本。與您的配置有三點不同: 1.我在插件配置 2.0中有一個額外的配置參數。 2.我使用groovy而不是groovy。 3.依賴包含在插件本身中。你可以試試這些嗎? – rudolfson

+0

@rudolfson它也不工作。 – banterCZ

+0

對不起,我沒有想法。 :( – rudolfson

回答

1

好吧,這個配置適用於Maven的2

<plugin> 
    <groupId>org.codehaus.gmaven</groupId> 
     <artifactId>gmaven-plugin</artifactId> 
     <version>1.4</version> 
     <configuration> 
      <providerSelection>2.0</providerSelection> 
      <sourceEncoding>UTF-8</sourceEncoding> 
     </configuration> 
     <executions> 
      <execution> 
       <goals> 
        <goal>testCompile</goal> 
       </goals> 
       <configuration> 
        <sources> 
         <fileset> 
          <directory>${pom.basedir}/src/test/java</directory> 
          <includes> 
           <include>**/*.groovy</include> 
          </includes> 
         </fileset> 
        </sources> 
       </configuration> 
      </execution> 
     </executions> 
</plugin> 

<dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy</artifactId> 
    <version>2.0.0</version> 
    <scope>test</scope> 
</dependency> 
4

我找到了這個網頁https://confluence.atlassian.com/display/CLOVER/Compiling+Groovy+with+GMaven+plugin

請注意,你必須把你的Groovy類和測試分別src/main/groovysrc/test/groovy下。根據該網頁上

以下配置似乎工作:當然

 <!-- Groovy and Maven https://confluence.atlassian.com/display/CLOVER/Compiling+Groovy+with+GMaven+plugin --> 
     <plugin> 
      <groupId>org.codehaus.gmaven</groupId> 
      <artifactId>gmaven-plugin</artifactId> 
      <version>${gmaven.version}</version> 
      <configuration> 
       <providerSelection>2.0</providerSelection> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.codehaus.gmaven.runtime</groupId> 
        <artifactId>gmaven-runtime-2.0</artifactId> 
        <version>${gmaven.version}</version> 
       </dependency> 
       <dependency> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-all</artifactId> 
        <version>${groovy.version}</version> 
       </dependency> 
      </dependencies> 
      <executions> 
       <execution> 
        <goals> 
         <goal>generateStubs</goal> 
         <goal>compile</goal> 
         <goal>generateTestStubs</goal> 
         <goal>testCompile</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

而且在依賴

<dependency> 
     <groupId>org.codehaus.groovy</groupId> 
     <artifactId>groovy-all</artifactId> 
     <version>${groovy.version}</version> 
    </dependency> 

而且在性能

<properties> 
    <gmaven.version>1.5</gmaven.version> 
    <groovy.version>2.1.8</groovy.version> 
</properties> 
1

我遇到同樣的問題,但降級到gmaven 1.4解決了這個問題(使用groovy-all 2.3.2)

0

首先,每個GMaven提供程序都針對特定版本的Groovy進行編譯,因此如果Groovy用某個版本發佈時會出現問題,那麼可能會出現問題。其次,GMaven不再被維護(這就是爲什麼你沒有看到任何新的Groovy版本的提供者)。我建議切換到GMavenPlusGroovy-Eclipse compiler plugin for Maven

相關問題