Java 9迁移javax.annotation

时间:2017-10-30 08:45:43

标签: java maven java-9 java-module

所以我尝试将我的项目迁移到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

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:7)

我不确定javax.annotation.Priority来自何处,但解决方案analog to getting JSR 305 running on Java 9应解决您的问题:而不是添加(已弃用)Java EE模块 java.xml.ws .annotation (你通过添加 java.se.ee 间接完成),你应该从外部工件中添加javax.annotation包,即javax.annotation:javax.annotation-api

如果您模块化您的代码,该解决方案将不再有效,您必须启动patching modules。或者,更好的是,摆脱那些需要假装来自javajavax软件包的非JDK类的解决方案,因为这会导致问题。