Java 9 次迁移 javax.annotation
Java 9 migration javax.annotation
所以我尝试将我的项目迁移到 Java9,但这个过程似乎并不像我想象的那么容易。我不断收到一些关于不可见包的错误,我可以在我的 pom 中使用以下参数修复这些错误:
<compilerArgs>
<arg>--add-modules</arg>
<arg>java.se.ee</arg>
</compilerArgs>
但我仍然收到以下错误:
cannot find symbol
[ERROR] symbol: class Priority
[ERROR] location: package javax.annotation
任何帮助将不胜感激
我不确定 javax.annotation.Priority
来自哪里,但有一个解决方案 analog to getting JSR 305 running on Java 9 should fix your problem: Instead of adding the (deprecated) Java EE module java.xml.ws.annotation (which you do indirectly by adding java.se.ee), you should instead add the javax.annotation
package from an external artifact, namely javax.annotation:javax.annotation-api。
如果您将代码模块化,该解决方案将不再有效,您必须开始 patching modules。或者,更好的是,远离需要非 JDK 类 的解决方案,这些解决方案假装来自 java
或 javax
包,因为这总是会导致问题。
所以我尝试将我的项目迁移到 Java9,但这个过程似乎并不像我想象的那么容易。我不断收到一些关于不可见包的错误,我可以在我的 pom 中使用以下参数修复这些错误:
<compilerArgs>
<arg>--add-modules</arg>
<arg>java.se.ee</arg>
</compilerArgs>
但我仍然收到以下错误:
cannot find symbol
[ERROR] symbol: class Priority
[ERROR] location: package javax.annotation
任何帮助将不胜感激
我不确定 javax.annotation.Priority
来自哪里,但有一个解决方案 analog to getting JSR 305 running on Java 9 should fix your problem: Instead of adding the (deprecated) Java EE module java.xml.ws.annotation (which you do indirectly by adding java.se.ee), you should instead add the javax.annotation
package from an external artifact, namely javax.annotation:javax.annotation-api。
如果您将代码模块化,该解决方案将不再有效,您必须开始 patching modules。或者,更好的是,远离需要非 JDK 类 的解决方案,这些解决方案假装来自 java
或 javax
包,因为这总是会导致问题。