問題:spring框架中存在大量注解,如 @Resource,之前使用java1.7正常,升級到1.10后,報錯
Error:(7, 13) java: package javax.annotation is not visible (package javax.annotation is declared in module java.xml.ws.annotation, which is not in the module graph) Error:(8, 13) java: package javax.annotation is not visible (package javax.annotation is declared in module java.xml.ws.annotation, which is not in the module graph)
原因:
注釋位於模塊java.xml.ws.annotation中。因為它是一個Java EE模塊,所以不推薦使用它。在Java 9中刪除了,並且默認情況下不會解析,因此需要手動添加它--add-modules
。
在Java 10中,模塊將完全消失,並且--add-modules
會失敗,因為java.xml.ws.annotation不再存在。最好的解決方案是立即用第三方依賴替換它。使用Java Commons Annotations可以在Maven Central上找到它:
<dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.1</version> </dependency>
第二種方法:切換JDK到1.7.。。