2017-11-29 8 views
2

Java 9로 SpringBoot 2.0.0을 실행하려고합니다. 기본 클래스를 실행하고 Intellij RunAs 옵션을 사용하여 모든 서비스에 액세스 할 수 있지만 mvn clean install을 사용하여 컴파일하는 동안, Java 클래스에서는 잘 작동하지만 Java 클래스에서 Groovy 클래스에 대한 참조가 있으면 다음 오류가 발생합니다.Java 9 Spring 부트 2로 Groovy 클래스를 감지 할 수 없음

MyService는 groovy 클래스이며 다음 오류는 MyController.java의 import 문에 있으며 MyService를 참조 할 때마다 동일한 오류가 발생합니다. 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> 
+0

클래스 정의를 공유하고 실패 로그를 완성 할 수 있습니까? 또한 그루비의 어떤 버전을 사용하고 있습니까? – nullpointer

+0

그루비 버전 : 2.4.12 –

답변

2

에서

**/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** 

추출물은 아마 당신은 또한 다음과 같은 구성으로 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 문서에 명시된 바와 같이.