2013-04-18 48 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