码迷,mamicode.com
首页 > 编程语言 > 详细

java9模块不可见问题

时间:2019-06-30 00:04:57      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:rri   模块化   override   命令   程序   tar   运行程序   pac   warning   

问题描述

jdk.internal.reflect包不可见

问题原因

java9模块化之后,java.base只把jdk.internal.reflect暴露给了少数几个内部包而没有向当前模块暴露。

解决方法

alt+enter IDEA会自动提示解决方案,它的解决方案只针对.idea/compiler.xml。即便直接运行程序不报错,在执行mvn compile时也会报错,说jdk.internal.reflect不可见。

<component name="JavacSettings">
  <option name="ADDITIONAL_OPTIONS_OVERRIDE">
    <module name="hanlp" options="--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED,hanlp" />
  </option>
</component>

需要进一步更改compiler插件的命令行参数

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>12</source>
        <target>12</target>
        <encoding>utf-8</encoding>
        <showDeprecation>true</showDeprecation>
        <showWarnings>true</showWarnings>
        <compilerArgument>
            --add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED,hanlp
        </compilerArgument>
    </configuration>
</plugin>

java9模块不可见问题

标签:rri   模块化   override   命令   程序   tar   运行程序   pac   warning   

原文地址:https://www.cnblogs.com/weiyinfu/p/11108091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!