maven - 默认使用maven静态编译.groovy

标签 maven groovy

我现在在我们的项目中使用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

最佳答案

您可以使用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)
}

关于maven - 默认使用maven静态编译.groovy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16074219/

相关文章:

java - Eclipse 中使用 Maven 的多项目应用程序

java - 如何在架构生成期间修复 "org.apache.velocity.exception.ResourceNotFoundException"

java - 在 JUnit4 中使用assertThat

java - 在运行时将 Groovy 脚本导入另一个 Groovy 脚本

grails - Grails-全局通用的制作方法和元类编程

java - 如果插件 jar 中的不同 jar 具有相同的类名,则访问类

java - Spring MVC 通用异常处理

grails - 从今天开始13年前的Grails验证

java - 如何获取自上次运行 Gradle 任务以来已更改的文件?

arrays - 在 gradle.properties 文件中声明数组/ HashMap