Java 隐藏“;“不想要的”;来自库的方法

Java 隐藏“;“不想要的”;来自库的方法,java,eclipse,methods,libraries,Java,Eclipse,Methods,Libraries,我使用eclipse,在我的一些频繁使用的库中(在本例中让我们继续使用slf4j),有大量的方法我永远不会使用 如果我使用这些方法,很可能是一个bug。 (或者是错误的做法、缺少调试信息(checkNotNull(Object)),或者使用起来很危险) 例如,仅“调试”就有10种方法。我最多需要3-4个。 我如何隐藏那些阻碍代码完成的其他5x6-7方法 我知道eclipse中有一个隐藏类和包的特性,但是我还没有为方法找到这样的特性 作为替代方案,我考虑使用一个“lite”库jar,它只提供我需要

我使用eclipse,在我的一些频繁使用的库中(在本例中让我们继续使用slf4j),有大量的方法我永远不会使用

如果我使用这些方法,很可能是一个bug。 (或者是错误的做法、缺少调试信息(checkNotNull(Object)),或者使用起来很危险)

例如,仅“调试”就有10种方法。我最多需要3-4个。 我如何隐藏那些阻碍代码完成的其他5x6-7方法

我知道eclipse中有一个隐藏类和包的特性,但是我还没有为方法找到这样的特性

作为替代方案,我考虑使用一个“lite”库jar,它只提供我需要的方法,并在打包期间用原始的方法替换它。(我将使用maven实现:lite=compile+optional/provided;original=runtime作用域)

但是,这种替代方案维护起来很繁琐,可能会导致二进制或许可证不兼容


如何从eclipse中的库中隐藏“不需要的”方法。

一个选项是扩展类并弃用不希望使用的方法。另一种方法是创建一个只公开选定方法的包装器。你怎么能确保仅仅因为今天没有使用这些方法,明天就不想使用它们呢?您是否尝试使用来完成?代码推荐程序是一个很好的选项,它将按开发人员最常用的顺序列出方法。@shmosel扩展接口不是一个选项,因为实现将不再满足接口要求。单独的弃用不是一个选项,因为我无法更改该库。使用包装器可能会激怒/迷惑其他开发人员。我说的是扩展[implementation]类,而不是接口。当然,这并不总是可能的;这只是一个建议。