问题 使用maven创建eclipse groovy-java项目


我有一个用Maven构建的Java-Groovy Eclipse项目。我已经将Maven Groovy插件添加到pom.xml中,这样我就可以使用Maven在命令行上构建/测试Java和Groovy源代码。

我想有一些方法来自动生成Eclipse .project 和 .classpath 我的pom.xml中的文件。如果我跑 mvn eclipse:eclipse 它似乎假设它是一个Java项目,所以没有办法(例如)运行测试 src/main/groovy 来自Eclipse内部。

我正在使用STS Eclipse发行版,其中包括对Groovy / Grails的支持。我所缺少的是一种自动创建合适的方法 .classpath 和 .project 文件。

谢谢!

附:我知道IntelliJ更好,但我没有牌照


7021
2018-02-11 16:33


起源

你的最终目标是什么?要使您的项目在Eclipse中无缝工作,或者找到一种从maven文件自动生成.classpath和.project的方法?例如,Eclipse + Maven插件+ Groovy插件可以很好地协同工作。 - rochb
我的最终目标是让项目在Eclipse中无缝运行。具体来说,我希望能够编译所有Java和Groovy并从IDE中运行所有测试(无论是用Java还是Groovy编写)。理想情况下,我希望能够直接从pom.xml自动生成此项目的结构。 - Dónal


答案:


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

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

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


5
2018-02-12 05:57



谢谢,这似乎工作得很好,是否有完整版本的更新站点(而不是快照更新站点)? - Dónal
不,我们尚未将其移至生产更新站点。我不认为这个功能会随着时间的推移而发生很大变化。 - Andrew Eisenberg


这是我发现在Java调用Groovy代码时有效的配置 当Groovy在groovy eclipse IDE插件(自然)中调用Java代码时很好。

groovy不需要额外的源文件夹。它只是工作!

使用:

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>

8
2017-12-13 13:25



谢谢,它也帮助了我。 - abi1964


如果您想通过调用创建一个Groovy项目 mvn eclipse:eclipse 你必须配置你的项目。如下所示,您将如何配置maven eclipse插件,以便您的项目成为Eclipse中的Groovy项目。该片段必须进入您的项目 的pom.xml 顺便一提。

...
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-eclipse-plugin</artifactId>
      <configuration>
        <additionalProjectnatures>
          <projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
        </additionalProjectnatures>
        <sourceIncludes>
          <sourceIncludes>**/*.groovy</sourceIncludes>
        </sourceIncludes>
      </configuration>
    </plugin>
  </plugins>
</build>
...

当你现在打电话 mvn eclipse:eclipse maven创造了 。项目 和 的.classpath 文件。 。项目 包含新项目的本质是什么使它成为一个Groovy项目和 的.classpath 包含 */*.groovy*是什么让Eclipse处理任何结尾的文件 .groovy作为 作为源文件。

请参阅 http://maven.apache.org/plugins/maven-eclipse-plugin/examples/provide-project-natures-and-build-commands.html


1
2017-12-13 10:47