“可以本地打包”是什么意思?(IDEA检查)

2022-08-31 20:20:08

我使用IntelliJ进行“检查代码”,其结果之一是:

问题概要 可以打包本地(在第 18 行(public class HeartBeat))

这是什么意思,我该如何解决?

它整个类是这样的:

package com.xxxxxxxxxxx.app.xxxx;

public class HeartBeat
{
    private static final Logger LOG = LoggerFactory.getLogger( HeartBeat.class );
    private final File heartBeatFile;


    public HeartBeat( File heartBeatFile )
    {
        this.heartBeatFile = heartBeatFile;
    }


    public void beat()
    {
        try
        {
            FileUtils.writeStringToFile( heartBeatFile, String.valueOf( System.currentTimeMillis() ) );
        }
        catch( IOException e )
        {
            LOG.error( "Error while writing heart beat log", e );
        }
    }
}

答案 1

IDEA指的是包私有可见性。

一个类可以用修饰符来声明,在这种情况下,这个类对任何地方的所有类都是可见的。如果类没有修饰符(默认值,也称为包私有),则它仅在其自己的包中可见public

有关更多信息,请参见控制对类成员的访问

可以通过从类中删除关键字(如果该类不打算在包外部使用)或使用其他包中的类来解决此问题。public


答案 2

如果要禁止显示此警告:

  1. 转至首选项 ->编辑器 ->检查
  2. 转到 Java -> 声明冗余
  3. 选择“声明访问权限可能更弱”
  4. 取消选中“建议包本地可见性...”右侧的复选框

编辑:在最新的IDEA版本步骤4中,这看起来已更改为“建议包专用可见性级别...”并包括适用于各种条件的多个选项


推荐