5

所以我尝试将我的项目迁移到 Java 9,但这个过程似乎并不像我想象的那么容易。我不断收到一些关于不可见包的错误,我可以在我的 pom 中使用以下参数修复这些错误:

<compilerArgs>
     <arg>--add-modules</arg>
     <arg>java.se.ee</arg>
</compilerArgs>

但我仍然收到以下错误:

cannot find symbol
[ERROR]   symbol:   class Priority
[ERROR]   location: package javax.annotation

任何帮助,将不胜感激

4

1 回答 1

7

我不确定javax.annotation.Priority从哪里来,但是类似于让 JSR 305 在 Java 9 上运行的解决方案应该可以解决您的问题:而不是添加(已弃用的)Java EE 模块java.xml.ws.annotation(您可以通过添加间接执行java.se.ee),您应该改为javax.annotation从外部工件添加包,即javax.annotation:javax.annotation-api

如果您将代码模块化,该解决方案将不再有效,您必须开始修补模块。或者,更好的是,远离需要假装来自javajavax包的非 JDK 类的解决方案,因为这总是会导致问题。

于 2017-10-30T09:56:47.340 回答