Java 9 с Spring boot 2 не может обнаружить отличные классы

Я пытаюсь запустить SpringBoot 2.0.0 с Java 9. Я могу запустить основной класс и получить доступ ко всем службам, используя опцию Intellij RunAs, но при компиляции с использованием mvn clean install он отлично работает только для классов Java, но если есть ссылка на любого класса Groovy в классе Java возникает следующая ошибка.

MyService — это классный класс, и следующая ошибка возникает в операторе импорта MyController.java, и каждый раз при обращении к MyService возникает одна и та же ошибка.

**/Users/services9/src/main/java/com/my/controller/MyController.java:[9,24] cannot find symbol
[ERROR]   symbol:   class MyService
[ERROR]   location: package com.my.service**

извлечение из pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.0.0.M1</version>
   </parent>
   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-rest</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-actuator</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>
      <dependency>
         <groupId>org.codehaus.groovy</groupId>
         <artifactId>groovy-all</artifactId>
         <version>2.4.12</version>
      </dependency>
      <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-spatial</artifactId>
         <version>5.2.10.Final</version>
      </dependency>
      <dependency>
         <groupId>org.postgresql</groupId>
         <artifactId>postgresql</artifactId>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>pot-api</groupId>
         <artifactId>pot-schema</artifactId>
         <version>01.50</version>
      </dependency>
      <dependency>
         <groupId>org.mockito</groupId>
         <artifactId>mockito-all</artifactId>
         <version>1.10.8</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>javax.xml.bind</groupId>
         <artifactId>jaxb-api</artifactId>
         <version>2.3.0</version>
      </dependency>
      <dependency>
         <groupId>org.geotools</groupId>
         <artifactId>gt-main</artifactId>
         <version>${geotools.version}</version>
      </dependency>
      <dependency>
         <groupId>org.geotools</groupId>
         <artifactId>gt-graph</artifactId>
         <version>${geotools.version}</version>
      </dependency>
      <dependency>
         <groupId>org.geotools</groupId>
         <artifactId>gt-geojson</artifactId>
         <version>${geotools.version}</version>
      </dependency>
      <dependency>
         <groupId>com.google.code.gson</groupId>
         <artifactId>gson</artifactId>
         <version>2.3.1</version>
      </dependency>
      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
         <version>3.0</version>
      </dependency>
      <dependency>
         <groupId>io.springfox</groupId>
         <artifactId>springfox-swagger-ui</artifactId>
         <version>2.2.2</version>
         <scope>compile</scope>
      </dependency>
      <dependency>
         <groupId>io.springfox</groupId>
         <artifactId>springfox-swagger2</artifactId>
         <version>2.2.2</version>
         <scope>compile</scope>
      </dependency>
      <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
         <version>19.0</version>
      </dependency>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-config</artifactId>
         <version>2.0.0.M1</version>
      </dependency>
      <dependency>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-core</artifactId>
         <version>1.8</version>
      </dependency>
      <dependency>
         <groupId>com.jayway.jsonpath</groupId>
         <artifactId>json-path</artifactId>
         <version>2.2.0</version>
      </dependency>
      <dependency>
         <groupId>org.codehaus.groovy.modules.http-builder</groupId>
         <artifactId>http-builder</artifactId>
         <version>0.7.1</version>
         <exclusions>
            <exclusion>
               <groupId>org.apache.httpcomponents</groupId>
               <artifactId>httpclient</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
   </dependencies>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
         <version>2.0.0.M1</version>
      </plugin>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <version>3.0.2</version>
      </plugin>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.6.2</version>
         <configuration>
            <source>9</source>
            <target>9</target>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>
            <compilerArgs>
               <arg>--add-modules</arg>
               <arg>java.xml.bind</arg>
            </compilerArgs>
         </configuration>
         <dependencies>
            <dependency>
               <groupId>org.codehaus.groovy</groupId>
               <artifactId>groovy-eclipse-compiler</artifactId>
               <version>2.9.2-01</version>
            </dependency>
            <dependency>
               <groupId>org.codehaus.groovy</groupId>
               <artifactId>groovy-eclipse-batch</artifactId>
               <version>2.4.12-04</version>
            </dependency>
         </dependencies>
      </plugin>
   </plugins>
</project>

person Anup Chandratre    schedule 29.11.2017    source источник
comment
Не могли бы вы поделиться определениями классов и полными журналами ошибок. Также какую версию groovy вы используете?   -  person Naman    schedule 29.11.2017
comment
Крутая версия: 2.4.12   -  person Anup Chandratre    schedule 30.11.2017


Ответы (1)


Вы, вероятно, пропустили дополнительную настройку maven-compiler-plugin со следующей конфигурацией:

<build>
...
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.6.1</version><!-- 3.1 is the minimum -->
    <configuration>
      <compilerId>groovy-eclipse-compiler</compilerId>
      <compilerArgument>indy</compilerArgument><!-- optional; supported by batch 2.4.12-04+ -->
    </configuration>
    <dependencies>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-eclipse-compiler</artifactId>
        <version>2.9.2-03</version> <!--latest -->
      </dependency>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-eclipse-batch</artifactId>
        <version>2.4.12-04</version><!--latest-->
      </dependency>
    </dependencies>
  </plugin>
...

как указано в Groovy-Eclipse-Maven-plugin документация.

person Naman    schedule 29.11.2017