【问题标题】:Arch test failing STANDARD_STREAMSArch 测试失败 STANDARD_STREAMS
【发布时间】:2020-09-11 14:26:02
【问题描述】:

我有一个遵循 archunit 规则的应用程序,我得到:

NO_CLASSES_SHOULD_ACCESS_STANDARD_STREAMS

失败的规则 - 这意味着我不能使用标准的 Java I/O 流。但是我可以用什么代替呢?

如何使用其他 Java 方法而不是标准流来避免这种架构规则?因为我的拱形规则失败了

【问题讨论】:

    标签: java stream archunit


    【解决方案1】:

    NO_CLASSES_SHOULD_ACCESS_STANDARD_STREAMS - System.out、System.err 和 printStackTrace 方法:改用日志库。所以我认为你需要删除所有 println System.out.println()

    【讨论】:

      【解决方案2】:

      文档,即NO_CLASSES_SHOULD_ACCESS_STANDARD_STREAMS 的javadoc,说:

      使用正确的日志记录而不是写入控制台通常是一种很好的做法。

      • 无法在生产环境中配置写入控制台
      • 写入控制台是同步的,可能会导致瓶颈

      有关检查此规则的信息,请参阅GeneralCodingRules

      您问如何避免这种架构规则。照它说的做:使用日志记录!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-23
        • 2011-02-16
        • 2021-07-03
        • 2017-04-02
        • 2015-05-27
        • 2013-08-25
        • 2011-09-16
        相关资源
        最近更新 更多