Eclipse:在 log4j.xml 中引用 log4j.dtd

2023-12-26

我已经使用 log4j 有一段时间了,我通常在 log4j.xml 的顶部使用它(可能就像许多其他人一样,根据 Google 的说法,这是the方法):

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

显然这是可行的,但是 Eclipse 不提供用于编写​​ XML 等内容的上下文相关帮助。此外,它总是显示一个警告,指出它没有找到log4j.dtd。现在我很好奇如何解决这个问题。

我尝试了一些方法,这些方法有效:

<!DOCTYPE log4j:configuration SYSTEM "jar:file:/path/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">

正如您从上面看到的,我们使用的是 Maven。因此,我尝试了这个,但失败了:

<!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">

Eclipse 通常知道如何处理类路径变量,但是为什么这不起作用呢?我知道该引用在运行时不起作用,但简单的也不起作用log4j.dtd(如果我没记错的话),所以这不应该是一个问题。

谁能解释一下吗?


我知道这个问题已经得到解答,但我想提供略有不同的替代方案:

<!DOCTYPE log4j:configuration PUBLIC
  "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">

它类似于@FrVaBe 的回应 https://stackoverflow.com/a/5001223/31506,但从好的方面来说,不需要任何进一步的 Eclipse 配置(即,如果您与其他人共享您的项目,或者拥有一个大型团队,则无需担心)。

但不利的一面是,我认为这意味着您需要互联网连接(至少在开发过程中的某个时刻,即使只是一次)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eclipse:在 log4j.xml 中引用 log4j.dtd 的相关文章

随机推荐

  • 最小起订量测试无效方法

    您好 我是起订量测试的新手 很难做一个简单的断言 我正在使用一个界面 public interface IAdd void add int a int b 最小起订量IAdd接口是 Mock
  • 如何在 Rust 中使用以 f64 作为键的 HashMap?

    我想用一个HashMap
  • Elixir - 将浮点数转换为字符串

    我试图弄清楚如何将浮点转换为字符串 二进制 但似乎并不像看起来那么容易 iex 1 gt to string 1200 00 1 2e3 iex 2 gt Float to string 1200 00 1 2e3 我们需要 1200 00
  • androidcamera2将TotalCaptureResult与Frame关联起来

    这是关于 Android 的 Camera2 API 的 由于捕获结果和输出帧是异步产生的 因此可以在实际帧之前获得捕获结果 有没有好的方法将生成的帧与相应的捕获结果相关联 假设您正在谈论发送到的帧ImageReader or Surfac
  • 通过在改造中透明地发送另一个请求来处理特定错误

    这是我正在尝试处理的案例 如果执行请求 并且响应指示身份验证令牌已过期 发送刷新令牌请求 如果刷新令牌请求成功 则重试原始请求 这对于调用 Activity Fragment 等应该是透明的 从调用者的角度来看 这是一个请求 一个响应 我之
  • Mac 上 C++ 中的分段错误 11

    当我尝试运行这个时 int N 10000000 short res N 我遇到分段错误 11 当我改变为 int N 1000000 short res N 效果很好 您已经超出了操作系统指定的堆栈空间 如果您需要更多内存 最简单的方法是
  • 无法使用 npm 重建依赖关系

    当我尝试将本地运行良好的 NodeJS 应用程序推送到 Heroku 时 以下是我在终端中得到的内容 dcaclab ubuntu RubymineProjects nodejs consumer git push heroku maste
  • 为什么不注入 IServiceProvider 而不是每个单独的依赖项?

    我想知道为什么不显式使用 IServiceProvider 来解决依赖项而不是单独注入每个依赖项 换句话说 为什么要使用这种方法 public class A private B b private C c private D d priv
  • 使用 CLI 或任何其他方式将 C++ 库静态链接到 C# 进程

    是否可以采用用 C 编写的静态库 并以某种方式将其集成到 NET 进程中 从而将 NET 进程与 lib 集成到一个 exe 文件中 我的意思是 我知道我可以从 C 进程中调用 C DLL 但用户仍然必须拥有 C DLL 但是否可以使用 l
  • 使复选框绑定到可为 null 的 bool 转换,从 null 到 true

    我有一个复选框及其IsChecked属性绑定到可为 null 的布尔值 当我的控件首次加载时 该值为空 并且该复选框显示为灰色 这就是我要的 当用户单击该复选框时 它会转为 false 未选中状态 然而 99 的情况下 用户会想要勾选该复选
  • Julia UndefVarError:未定义子类型

    不清楚为什么我得到ERROR LoadError UndefVarError subtypes not defined执行 jl 文件时 但从 REPL 执行时则不然 E g abstract type Asset end abstract
  • 使用 Eclipse 在远程计算机中运行 Spark/Cloudera 应用程序

    我在理解使用 Scala Spark shell 和 Hadoop 环境进行开发的逻辑架构时遇到了一些问题 为了更好地描述逻辑架构 我画了一个小架构 如图所示 我在我的个人电脑上安装了 Eclipse 我想以远程模式从我的电脑运行 scal
  • C++ Windows API - 如何检索字体缩放百分比

    我想检索 把文字变大 C Windows API 应用程序中的百分比 我知道如何检索缩放 DPI 系数 但我还想包括字体缩放百分比 请参阅附图 上值 而不是下值 最终 我想要制作保留用户字体和 DPI 缩放设置的应用程序 以便完全支持辅助功
  • Kivy 日期选择器小部件

    已解决 请参阅下面的已接受答案的应用程序和功能 kivy DatePicker 小部件的源代码 我一直在学习 Kivy 并决定制作一个日期选择器小部件作为学习练习 import kivy kivy require 1 4 0 from ki
  • 在android中将SQLite数据库与远程mysql数据同步

    android中如何同步SQLite数据库和远程MySQL数据 为了说清楚 我想知道sqlite数据和远程mysql之间的同步是如何工作的 即 当远程mySQL数据库更新时 SQLite数据也应该更新 而无需按下任何按钮或向下滚动 如何使用
  • 使用线程打印奇偶数

    使用线程打印奇偶数 创建一个线程类 两个线程实例 一个将打印奇数 另一个将打印偶数 我做了以下编码 但到了死锁状态 有人可以解释一下这可能是什么原因吗 public class NumberPrinter implements Runnab
  • 我可以在某些列值上使用 pandas 数据框读取一系列行吗?

    这是我的数据 prakash 101 Ram 107 akash 103 sakshi 115 vidushi 110 aman 106 lakshay 99 我想从中选择所有行akash to vidushi或所有行Ram to aman
  • UICollectionview rollToItemAtIndexPath,在动画完成之前不加载可见单元格

    我有一个UICollectionView有 142 个电池 7 5 随时可见 我正在从以下位置移动一个单元格indexPath0 表示 100 但我也想滚动到那个新位置 下面的代码工作正常 但它对移动和滚动进行动画处理 然后加载中央 移动单
  • 如何向 WiX 工具集添加可选 UI

    我已经为项目部署制作了一个安静的安装程序 无需单击任何按钮 但安装过程中会显示一些进度条 这次我想添加一个可选的图形用户界面 默认情况下 当给出参数时 安装程 序应该直接运行而不单击任何内容 比方说 msiexec范围 qf 安装程序会弹出
  • Eclipse:在 log4j.xml 中引用 log4j.dtd

    我已经使用 log4j 有一段时间了 我通常在 log4j xml 的顶部使用它 可能就像许多其他人一样 根据 Google 的说法 这是the方法 显然这是可行的 但是 Eclipse 不提供用于编写 XML 等内容的上下文相关帮助 此外