2

我现在在我们的项目中使用 maven 编译 .groovy

我的 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>

有没有类似的东西

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

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

所以我可以默认以静态方式编译我的 groovy

4

2 回答 2

2

你可以使用蚂蚁

        <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)
}
于 2013-08-01T14:14:22.930 回答
0

我知道我在这里复活了一个旧线程,但我遇到了你的问题,并认为如果我们在 GMavenPlus 中这样做会非常酷,所以我打开了一个Jira并开始搞乱它。我已经提交了此功能的第一次通过,如果您能在我们的下一个版本之前对其进行测试,我将不胜感激。为了您的方便,我部署了一个新快照。

于 2014-02-21T21:32:02.720 回答