[SPRING] 퍼즐 모듈을 사용하여 jdk9로 스프링 부트 실행
SPRING퍼즐 모듈을 사용하여 jdk9로 스프링 부트 실행
이 응용 프로그램의 문제점입니다. 클래스 패스 항아리와 모듈 항아리의 혼합이 유효하다고 생각했습니다. 명시 적 module-info를 가지고 있지 않은 모든 jar에 대해 자동 모듈이됩니까? 내 module-info.java를 삭제하면 작동합니다. 이 경우 IDEA는 클래스 경로를 사용하기 때문입니다.
Java (TM) SE 런타임 환경 (빌드 9 + 176)
IntelliJ IDEA 2017.1.4
module-info.java
module test {
requires spring.boot.autoconfigure;
requires spring.boot;
}
App.java
package com.foo.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
pom.khml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.test</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.M2</version>
</parent>
<name>test</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.9</maven.compiler.source>
<maven.compiler.target>1.9</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
해결법
-
==============================
1.spring.boot는 자동 모듈이라고 가정합니다. 자동 모듈은 의존성을 선언하지 않으므로 필요한 추가 모듈이 해결되도록하려면 --add-modules를 사용해야합니다. spring.boot가 명시 적 모듈이라면 java.sql이 필요 하고이 문제가 없을 것이라고 가정합니다.
spring.boot는 자동 모듈이라고 가정합니다. 자동 모듈은 의존성을 선언하지 않으므로 필요한 추가 모듈이 해결되도록하려면 --add-modules를 사용해야합니다. spring.boot가 명시 적 모듈이라면 java.sql이 필요 하고이 문제가 없을 것이라고 가정합니다.
-
==============================
2.마지막으로, 나는 그것을 얻었습니다 ... 내 모듈 정보는 다음과 같아야합니다 :
마지막으로, 나는 그것을 얻었습니다 ... 내 모듈 정보는 다음과 같아야합니다 :
module test { requires java.sql; // my real problem solved with this requires spring.boot.autoconfigure; requires spring.boot; exports com.foo.test; // subsequent error 1: beeing accessible for some spring modules opens com.foo.test to spring.core; // subsequent error 2: beeing accessible for spring.core in a deep reflection way }
누군가 java.sql이 필요한 이유를 설명 할 수 있습니까? 내가 사용하지 않을 때 내 모듈 안에?
-
==============================
3.MySql에 대한 jdbc 드라이버 jar이 없기 때문에 이것은 거의 확실합니다. 이 의존성을 사용해야합니다 :-
MySql에 대한 jdbc 드라이버 jar이 없기 때문에 이것은 거의 확실합니다. 이 의존성을 사용해야합니다 :-
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.5</version> </dependency>
from https://stackoverflow.com/questions/44910768/run-spring-boot-with-jdk9-using-jigsaw-modules by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Java 구성 사용시 스프링 배치 테이블 접 두부 (0) | 2019.08.14 |
---|---|
[SPRING] RESTful Spring MVC 컨트롤러에서 유효성 검사 오류 및 예외를 처리하는 방법은 무엇입니까? (0) | 2019.08.14 |
[SPRING] @ControllerAdvice로 간단한 서블릿 필터 작동 (0) | 2019.08.14 |
[SPRING] Spring Webflux,`ServerResponse` 테스트 (0) | 2019.08.14 |
[SPRING] 직렬화에서 JPA Lazy Fetching을 트리거하는 Jackson (0) | 2019.08.13 |