使用maven创建eclipse groovy-java项目

问题描述 投票:12回答:4

我有一个用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更好,但是我没有许可证

java eclipse maven-2 groovy
4个回答
5
投票

您应该尝试使用Groovy-Eclipse m2eclipse集成。它在这里可用:

http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.6/

安装此选项后,将maven项目导入工作区时,它们将自动配置为groovy-eclipse项目。


8
投票

这里是当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>

2
投票

除了安装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

现在,您应该可以在软件包资源管理器中看到Groovy DSL支持。

1
投票

如果您只想通过调用mvn eclipse:eclipse

© www.soinside.com 2019 - 2024. All rights reserved.