我有一个用Maven构建的Java-Groovy Eclipse项目。我已将Maven Groovy插件添加到pom.xml中,以便可以使用Maven在命令行上构建/测试Java和Groovy源。
我想用某种方法从我的pom.xml中自动生成Eclipse .project
和.classpath
文件。如果我运行mvn eclipse:eclipse
,似乎假设它是一个Java项目,因此(例如)无法从Eclipse中运行src/main/groovy
中的测试。
我正在使用STS Eclipse发行版,其中包括对Groovy / Grails的支持。我所缺少的是一种自动创建适当的.classpath
和.project
文件的方法。
谢谢!
P.S。我知道IntelliJ更好,但是我没有许可证
您应该尝试使用Groovy-Eclipse m2eclipse集成。它在这里可用:
http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.6/
安装此选项后,将maven项目导入工作区时,它们将自动配置为groovy-eclipse项目。
这里是当Java调用Groovy代码时可以使用的配置当Groovy调用适合groovy eclipse IDE插件(自然)的Java代码时。
无需使用常规的其他源文件夹。就是有效!
使用:
mvn clean install eclipse:clean eclipse:eclipse
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.0.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerId>groovy-eclipse-compiler</compilerId>
<verbose>true</verbose>
<extensions>true</extensions>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.7.0-01</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
</additionalProjectnatures>
<sourceIncludes>
<sourceInclude>**/*.groovy</sourceInclude>
</sourceIncludes>
</configuration>
</plugin>
</plugins>
</build>
除了安装GRECLIPSE
插件(请参阅底部),现在您还需要将gmavenplus-plugin
添加到plugins
节点。这是您在plugins
节点中应该拥有的内容:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>1.6.3</version>
<executions>
<execution>
<goals>
<goal>addSources</goal>
<goal>addTestSources</goal>
<goal>generateStubs</goal>
<goal>compile</goal>
<goal>generateTestStubs</goal>
<goal>compileTests</goal>
<goal>removeStubs</goal>
<goal>removeTestStubs</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
此外,您将需要依赖org.codehaus.groovy:groovy
。它是托管的,因此我们不需要指定版本。
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
</dependency>
您可以根据需要添加dependencies,但是org.codehaus.groovy:groovy
很重要。
请注意,org.codehaus.groovy:groovy
的版本和您使用的编译器版本应完全匹配。您可以通过以下方法验证groovy编译器的版本:
项目属性
> Groovy编译器> 此项目的Groovy编译器级别安装GRECLIPSE
转到帮助> 安装新软件> 使用: https://dist.springsource.org/release/GRECLIPSE/3.5.0/e4.13。有关最新版本,请参见Groovy-Eclipse Wiki。
您都准备好了!
如果您只想通过调用mvn eclipse:eclipse