【问题标题】:A question about Eclipse and classpath in a Run configuration关于运行配置中的 Eclipse 和类路径的问题
【发布时间】:2009-06-16 09:59:07
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: eclipse classpath


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        你有两个选择:

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

        它现在不起作用的原因是该文件不在项目的类路径中。您可以从 Project > Properties > Java Build Path 中查看类路径

        【讨论】:

          猜你喜欢
          • 2012-06-02
          • 2020-10-05
          • 1970-01-01
          • 2012-08-13
          • 2017-02-20
          • 2012-01-06
          • 2018-12-14
          • 2011-02-01
          • 1970-01-01
          相关资源
          最近更新 更多