关于运行配置中的Eclipse和类路径的问题

时间:2009-06-16 09:59:08

标签: eclipse classpath

我刚开始第一次使用Log4J。我创建了一个log4j.properties文件并将其放在Eclipse的项目文件夹中。我还为我的应用程序创建了一个Run配置(它只是一个默认的Run配置,没有额外的选项)。

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

如果我转到Run配置的Classpath选项卡,我有以下内容:

  • Bootstrap条目
  • 用户条目
    • MyApplication(默认类路径)
    • log4j-1.2.15.jar - C:\ Workspace \ MyApplication \ lib

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

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

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

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

您必须手动将任何其他文件夹添加到类路径中。

答案 2 :(得分:0)

您有两种选择:

  • 将log4j.properties文件放在src文件夹下
  • 创建一个额外的源文件夹,通常命名资源或res,并将log4j.properties文件放在那里

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