JAVA10中的 package javax.annotation is not visible错误
问题: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.。。