2009-06-16 69 views
4

我刚开始第一次使用Log4J。我创建了一个log4j.properties文件,并将其放入Eclipse中的项目文件夹中。我还为我的应用程序创建了一个运行配置(这只是一个默认的运行配置,没有额外的选项)。有关运行配置中的Eclipse和类路径的问题

现在,我尝试运行该应用程序,并收到有关log4j无法初始化自身(读取属性文件)的错误消息。我知道属性文件必须位于类路径中,所以显然,运行配置并未正确设置类路径。

如果我去我的运行配置的Classpath选项卡,我有以下几点:

  • 引导条目
  • 用户条目
    • 所有MyApplication(默认的classpath)
    • 的log4j-1.2 .15.jar - C:\ Workspace \ MyApplication \ lib

但是,如果我手动添加项目的文件夹(我单击添加文件夹,高级,MyApplication),log4j将能够自行初始化。

这是为什么?为什么log4j无法找到属性文件,除非手动添加项目文件夹?默认情况下,此类文件夹不在类路径中吗? (以上输出表明它是。)

回答

2

看到类路径默认情况下,项目文件夹本身不在类路径中 - 项目的输出文件夹(通常是一个名为bin或classes的子文件夹)。

如果您将log4j.properties放入项目的源文件夹而不是其根文件夹,那么一切都应该工作(源文件夹中的非源文件会自动复制到输出文件夹)。

一般来说,您不应该混淆运行配置的类路径 - 在大多数情况下,更改项目属性中的构建路径(或者,在您的情况下正确使用)更合适。

1

默认情况下,项目文件夹未添加到类路径中。类路径默认只包含classes文件夹。

您将不得不手动添加任何其他文件夹到类路径。

0

你有两个选择:

  • 把你的src目录下的log4j.properties文件
  • 创建一个额外的源文件夹,通常名称资源或资源,并把log4j.properties文件有

现在不工作的原因是该文件不在项目的类路径中。您可以从项目>属性> Java构建路径