Создать проект eclipse groovy -java с maven

У меня есть проект Java- Groovy Eclipse, который я создаю с Maven. Я добавил плагин Maven Groovy в pom.xml, чтобы я мог строить/тестировать источники Java и Groovy в командной строке с помощью Maven.

Я хотел бы иметь способ автоматически генерировать файлы Eclipse .project и .classpath из моего pom.xml. Если я запустил mvn eclipse:eclipse, он предположил, что это проект Java, поэтому нет способа (например) запустить тесты в src/main/groovy из Eclipse.

Я использую дистрибутив STS Eclipse, который включает поддержку Groovy/Grails. Все, что мне не хватает, - это способ автоматического создания соответствующих файлов .classpath и .project.

Спасибо!

P.S. Я знаю, что IntelliJ лучше, но у меня нет лицензии

Ответ 1

Вам следует попробовать интеграцию Groovy -Eclipse m2eclipse. Он доступен здесь:

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

При этом ваши проекты maven будут автоматически настроены как проекты Groovy -eclipse при импорте их в рабочее пространство.

Ответ 2

Вот конфигурация, которую я нашел, работает, когда Java вызывает Groovy код и когда Groovy вызывает привязку кода Java в рамках Groovy плагина IDE Eclipse (природа).

Нет необходимости в дополнительных папках источника для 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>

Ответ 3

Помимо установки плагина 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 Compiler> Уровень Groovy для этого проекта

Установка GRECLIPSE

  • Перейти к Справка > Установить новое программное обеспечение > Работа с: https://dist.springsource.org/release/GRECLIPSE/3.5.0/e4.13.См. Groovy-Eclipse Wiki для последней сборки.

    1. Выберите Основной пакет> Инструменты разработки Eclipse Groovy
    2. Выберите Поддержка Maven> Интеграция Groovy-Eclipse M2E
    3. Выберите Больше компиляторов> Groovy Compiler 2.5

Все готово! Теперь вы сможете увидеть поддержку Groovy DSL в проводнике пакетов.

Ответ 4

Если вы хотите создать проект Groovy, просто вызвав mvn eclipse: eclipse, вы должны настроить свой проект. Как следует фрагмент, как вы настраиваете плагин maven eclipse, чтобы ваш проект стал проектом Groovy в Eclipse. Этот фрагмент, кстати, должен идти в ваши проекты 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 создает файлы .project и .classpath..project содержит новый проект, что делает его проектом Groovy и .classpath содержит */*. groovy *, что заставляет Eclipse обрабатывать любой файл, который заканчивается на .groovy в качестве исходного файла.

См. также http://maven.apache.org/plugins/maven-eclipse-plugin/examples/provide-project-natures-and-build-commands.html