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

Ari*_*iod 5 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找不到属性文件?默认情况下,这个文件夹不在类路径中吗?(以上输出表明它是.)

Mic*_*rdt 3

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

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

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