我刚开始第一次使用Log4J。我创建了一个log4j.properties文件并将其放在Eclipse的项目文件夹中。我还为我的应用程序创建了一个Run配置(它只是一个默认的Run配置,没有额外的选项)。
现在,我尝试运行应用程序,并收到有关log4j无法初始化自身的错误消息(读取属性文件)。我知道属性文件必须在类路径中,所以显然Run配置没有正确设置类路径。
如果我转到Run配置的Classpath选项卡,我有以下内容:
但是,如果我手动添加项目文件夹(我单击添加文件夹,高级,MyApplication),log4j将能够自行初始化。
为什么会这样?除非我手动添加项目的文件夹,为什么log4j找不到属性文件?默认情况下,这个文件夹不在类路径中吗? (上面的输出表明它是。)
答案 0 :(得分:3)
不,默认情况下项目文件夹本身不在类路径中 - 项目的输出文件夹是(通常是一个名为bin或类的子文件夹)。
如果将log4j.properties放入项目的源文件夹而不是其根文件夹,那么一切都应该有效(源文件夹中的非源文件会自动复制到输出文件夹中)。
通常,您不必混淆运行配置的类路径 - 在大多数情况下,更适合更改(或者,如在您的情况下,正确使用)项目属性中的构建路径。
答案 1 :(得分:1)
默认情况下,项目文件夹未添加到类路径中。默认情况下,类路径仅包含classes文件夹。
您必须手动将任何其他文件夹添加到类路径中。
答案 2 :(得分:0)
您有两种选择:
它现在不工作的原因是该文件不在项目的类路径中。您可以从Project>中看到类路径。属性> Java构建路径