• 在maven工程中使用groovy


    maven中使用groovy

    Groovy由于轻便的语法,和java的无缝兼容,深受人们的喜爱。

    使用ide,像eclipse、intellij idea都有专属的插件来编译和运行groovy,maven也有特定的plugin来支持groovy,只是需要配置一下。

    Maven支持groovy的插件叫Gmaven。

    需要在pom中引用:

    代码
    <plugin>
    <groupId>org.codehaus.groovy.maven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.0</version>
    <executions>
    <execution>
    <goals>
    <goal>generateStubs</goal>
    <goal>compile</goal>
    <goal>generateTestStubs</goal>
    <goal>testCompile</goal>
    </goals>
    </execution>
    </executions>
    </plugin>

    这里面包含了4个goal,分别用来将groovy源文件生成临时的、与之相对应的 Java 源文件,使得maven编译java文件时不会报错。

    除了这些,官方说还需要引入一个runtime依赖:

    代码
    <dependency>
    <groupId>org.codehaus.groovy.maven.runtime</groupId>
    <artifactId>gmaven-runtime-default</artifactId>
    <version>1.0-rc-3</version>
    </dependency>

    工程结构: 

    Groovy插件默认编译groovy的路径在main/groovy下。

    <project-root>/

      |

      +-pom.xml

      |

      +-src/

     |  |

     |  +- main/

     |  |  |

     |  |  +- groovy/(source location for Groovy and optional Java sources)

     |  |  |

     |  +- test/

     |  |  |

     |  |  +- groovy/(source location for Groovy and optional Java test sources)

     |  |  |

      ...

    默认只有在main下的groovy和test下的groovy文件夹内的groovy文件才会被compile。

    假如goovy文件中的package为test.groovy,那么就会在deploy/classes下建立一个test/groovy文件夹,里面放上编译好的class文件。

    所有在main/groovy下的*.groovy文件都会被编译到target/classes目录下,所有在test/groovy下的*.groovy文件都会被编译到target/test-classes目录下。

    如果groovy文件没有在main/groovy目录下,就需要配置gmaven插件了。

    代码
    <plugin>
    <groupId>org.codehaus.groovy.maven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <executions>
    <execution>
    <goals>
    <goal>compile</goal>
    </goals>
    <configuration>
    <sources>
    <fileset>
    <directory>${pom.basedir}/src/main/script</directory>
    <includes>
    <include>**/*.groovy</include>
    </includes>
    </fileset>
    </sources>
    </configuration>
    </execution>
    </executions>
    </plugin>

     
    像这样的话就会把main/script下的*.groovy文件包含进来进行编译。
     
     
  • 相关阅读:
    简练网软考知识点整理-易混概念项目绩效评估与团队绩效评价
    简练软考知识点整理-项目索赔管理
    项目管理工作执行数据和信息流向的一致性
    简练软考知识点整理-确认范围和质量控制
    简练软考知识点整理-项目全面质量管理TQM
    简练网软考知识点整理-项目整体绩效测量基准
    RAID 技术全解
    Centos 7 查看内存占用情况相关命令
    使用xshell连不上ubuntu14.04
    Shell脚本
  • 原文地址:https://www.cnblogs.com/xiziyin/p/1699860.html
Copyright © 2020-2023  润新知