【问题标题】:Proguarding a Javafx application using slf4j logger使用 slf4j 记录器保护 Javafx 应用程序
【发布时间】:2017-04-23 08:26:07
【问题描述】:

我之前构建了一个 Javafx 应用程序,并在使用 java.util.Logger 时成功地用 proguard 封装了它。但是,我需要从 java.util.Logger 切换到 slf4j 提供的 Logger 并使用 qos-logback。当我对它使用 proguard 时,我遇到了一系列警告,这些警告都是由 slf4j 或 qos-logback 库生成的。一些 (MANYYY) 警告是:

  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类 javax.servlet.http.HttpServletResponse
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类 javax.servlet.http.HttpServletRequest
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类 javax.servlet.http.HttpServletResponse
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类 javax.servlet.http.HttpServletRequest
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类 javax.servlet.http.HttpServletResponse
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类 javax.servlet.http.HttpServletRequest
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类 javax.servlet.http.HttpServletResponse
  • 警告:org.slf4j.MDC:找不到引用的方法 程序类中的“org.slf4j.impl.StaticMDCBinder getSingleton()” org.slf4j.impl.StaticMDCBinder
  • 警告:org.slf4j.MarkerFactory: 找不到引用的方法 'org.slf4j.impl.StaticMarkerBinder 程序类 org.slf4j.impl.StaticMarkerBinder 中的 getSingleton()'
  • 注意:ch.qos.logback.classic.gaffer.GafferUtil 访问构造函数 '(ch.qos.logback.classic.LoggerContext)' 动态

如果您注意到,有些警告甚至会重复出现。如果有人能帮助我解决这个问题,我将不胜感激,即使它只是为我指明了正确的方向,因为我已经坚持了一段时间。非常感谢。

【问题讨论】:

    标签: javafx proguard slf4j logback-classic


    【解决方案1】:

    经过一番努力,我终于把事情做好了。

    我必须在配置中添加以下内容:

    -keep,allowshrinking class ch.qos.logback.core.status.ViewStatusMessagesServletBase {
        <fields>;
        <methods>;
    }
    

    我还需要检查警告以找到源代码,并且必须将 servlet-api.jar 作为库单独添加。

    【讨论】:

      猜你喜欢
      • 2012-01-16
      • 2023-03-14
      • 1970-01-01
      • 2013-06-04
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      相关资源
      最近更新 更多