@Override
  public void printBanner(Environment environment, Class<?> sourceClass, PrintStream out) {
    try (InputStream stream = new ClassPathResource("zipkin.txt").getInputStream()) {
      String banner = StreamUtils.copyToString(stream, UTF_8);

      // Instead of use property expansion for only 2 ansi codes, inline them
      banner = banner.replace("${AnsiOrange}", AnsiOutput.encode(ZIPKIN_ORANGE));
      banner = banner.replace("${AnsiNormal}", AnsiOutput.encode(AnsiStyle.NORMAL));

      out.println(banner);
    } catch (Exception ex) {
      // who cares
    }
  }
More efficient Banner implementation which doesn't use property sources as variables are expanded
at compile time using Maven resource filtering.
zipkin-server/src/main/java/zipkin2/server/internal/banner/ZipkinBanner.java