让groovy、maven和eclipse一起玩得很好?
所以我们有一些用groovy编写的单元测试。我们有Groovy Eclipse插件,我们有gmaven插件,但问题是maven Eclipse插件不会自动添加src/test/Groovy目录作为源目录。因此,我注册了buildhelper插件来添加一个源目录,但问题变成了源目录——在eclipse中,过滤器将包括**/*.java并排除所有其他内容,这导致groovy eclipse插件混淆。我通过使用build助手添加带有正确的.groovy文件过滤器的测试资源,成功地解决了这个问题。显然,这里的问题是,如果我们决定在项目中使用groovy类,.groovy类将包含在.jar文件中,那么它是不可用的让groovy、maven和eclipse一起玩得很好?,eclipse,unit-testing,maven-2,groovy,Eclipse,Unit Testing,Maven 2,Groovy,所以我们有一些用groovy编写的单元测试。我们有Groovy Eclipse插件,我们有gmaven插件,但问题是maven Eclipse插件不会自动添加src/test/Groovy目录作为源目录。因此,我注册了buildhelper插件来添加一个源目录,但问题变成了源目录——在eclipse中,过滤器将包括**/*.java并排除所有其他内容,这导致groovy eclipse插件混淆。我通过使用build助手添加带有正确的.groovy文件过滤器的测试资源,成功地解决了这个问题。显然,
如何解决这个问题?我们已经为Groovy Eclipse创建了m2eclipse集成。首先,您必须安装m2eclipse:
http://m2eclipse.sonatype.org/sites/m2e
然后,您可以安装Groovy Eclipse集成,您可以在这里获得:
http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.6/
伽利略:
http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.5/
请注意,m2eclipse集成仍然是测试版,我们感谢用户的反馈,看看它对他们有多好。我碰巧查看了maven eclipse插件页面,结果发现这类问题已经解决了:
最后,我只是使用build helper插件来指定其他源代码,并将.groovy文件添加到eclipse插件的源代码中。我放弃了gmaven,转而使用groovy编译器插件,它为您编写groovy编译器。在gmaven中,我遇到了太多奇怪的编译器错误,其中存根丢失,等等。您仍然需要builder助手,Groovy Eclipse插件可以帮助将源代码链接到已编译的类,但在Eclipse中和在命令行中都能完美地工作
<properties>
<groovy.version>1.8.0</groovy.version>
<groovy.provider>1.7</groovy.provider>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/groovy</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/test/groovy</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<verbose>true</verbose>
<source>1.6</source>
<target>1.6</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>1.8.0-03</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.5.1</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
1.8.0
1.7
org.codehaus.mojo
构建助手maven插件
1.5
添加源
生成源
添加源
src/main/groovy
添加测试源
生成测试源
添加测试源
src/test/groovy
maven编译器插件
2.3.1
groovy eclipse编译器
真的
1.6
1.6
org.codehaus.groovy
groovy eclipse批处理
1.8.0-03
org.codehaus.groovy
groovy eclipse编译器
2.5.1
org.codehaus.groovy
groovy eclipse批处理
这是一个很好的建议,我也将尝试m2eclipse插件。我还想说明我团队中的其他开发人员不想在eclipse中使用m2eclipse或其他maven插件的可能性。根据我的经验,使用m2eclipse比使用meclipse更好地管理maven项目。这是因为对项目结构的所有更改都会立即反映在工作空间中。您不需要重新运行任何maven命令来更新内容。