2013-04-18 56 views
2

我現在使用maven編譯.groovy作爲我們的項目靜態使用maven

我的pom.xml的是

 <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <encoding>UTF-8</encoding> 
       <compilerId>groovy-eclipse-compiler</compilerId> 
       <verbose>true</verbose> 
       <compilerArguments> 
        <configscript>/tmp/aa.groovy</configscript> 
       </compilerArguments> 
       <fork>true</fork> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-eclipse-compiler</artifactId> 
        <version>2.7.0-01</version> 
       </dependency> 
       <dependency> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-all</artifactId> 
        <version>${groovy.version}</version> 
       </dependency> 
      </dependencies> 
     </plugin> 

編譯.groovy作爲默認情況下有什麼樣

http://groovy.codehaus.org/Advanced+compiler+configuration

groovyc -configscript src/conf/config.groovy src/main/groovy/MyClass.groovy

,所以我可以在默認情況下

+0

現在沒有空。最好的辦法是使用@CompileStatic – 2013-04-18 18:47:27

+0

來註釋所有相關的類在greclipse上的請求http://jira.codehaus.org/browse/GRECLIPSE-1615 – farmer1992 2013-04-19 02:53:48

回答

1

編譯我的常規以靜態方式您可以使用Ant的

 <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>compile</id> 
        <phase>compile</phase> 
        <configuration> 
         <tasks> 
          <mkdir dir="${basedir}/src/main/groovy"/> 
          <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc"> 
           <classpath refid="maven.compile.classpath"/> 
          </taskdef> 
          <mkdir dir="${project.build.outputDirectory}"/> 
          <groovyc destdir="${project.build.outputDirectory}" 
            srcdir="${basedir}/src/main/groovy/" 
            listfiles="true" 
            configscript="${basedir}/src/config/config.groovy"> 
           <classpath refid="maven.compile.classpath"/> 
          </groovyc> 
         </tasks> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

而且Config.groovy中

withConfig(configuration) { 
    ast(groovy.transform.CompileStatic) 
} 
0

我知道我復活時有些舊的但是我碰到了你的問題,並認爲如果我們在GMavenPlus中這樣做會很酷,所以我打開了一個Jira並開始搞亂它。我在committed這個功能上第一次傳遞,如果你能在我們的下一個版本之前測試它,我會很感激。爲了您的方便,我部署了一個新的snapshot