2017-10-10 80 views
10

Moje JDK 9 + 181 Wiosna-Boot 2.0.0.BUILD SNAPSHOT aplikacji CLI wyświetla to ostrzeżenie na starcie:

WARNING: An illegal reflective access operation has occurred 
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (jar:file:/home/jan/src/fm-cli/target/fm-cli-0.1.0-SNAPSHOT.jar!/BOOT-INF/lib/spring-core-5.0.0.RELEASE.jar!/) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) 
WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1 

Jest to konsola aplikacji, więc muszę wyłączyć to ostrzeżenie - jak mogę to zrobić?

Uwaga: To pytanie zawiera pytanie, w jaki sposób wyłączyć ostrzeżenie wywołane przez Spring; nie jest to duplikat z JDK9: An illegal reflective access operation has occurred. org.python.core.PySystemState, który dotyczy podobnego objawu w innej bibliotece.

Odpowiedz

13

Dodaj następującą opcję JVM wyłączyć ostrzeżenie z użytkowania wiosennej CGLIB:

--add-opens java.base/java.lang=ALL-UNNAMED 

na przykład:

java --add-opens java.base/java.lang=ALL-UNNAMED -jar target/*.jar 

Nie ma potrzeby, aby go zgłosić; to jest known Spring bug.

Dzieje się tak, ponieważ nowy moduł modułu JDK 9 wykrył nielegalny dostęp, który zostanie niedozwolony w niedalekiej przyszłości. Możesz przeczytać więcej o the JDK 9 Module system here.

+0

Używam Spring Boot 2.0.0.RC1 z JDK 9.0.4 i mam ten sam problem. Czy możesz wyjaśnić więcej o tej sztuczce? Co oznacza średnio *** przełącznik ***? –

+0

Widziałem to również tutaj https://github.com/dsyer/spring-boot-java-9. Mam trudne z ustawionymi opcjami JVM dla IntelliJ IDEA. Nie wiem, jak pokonać. –

+1

@DoNhuVy - rozważ zadawanie nowego pytania o to, jak to zrobić. Więcej informacji znajdziesz tutaj: https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Konfiguracja-JVM-opcje-i -platform-properties –