在Netbeans IDE中找不到log4j类

时间:2017-06-18 18:12:53

标签: java netbeans log4j classnotfound

我正在通过Tim Downey的书“使用Java进行Web开发”。

在第4章中,其中一个主题是使用l​​og4j进行日志记录。

为了初始化记录器,使用初始化servlet。

所需的类之一是例如“FileAppender”。因此,文件顶部有一个import语句:

import org.apache.log4j.FileAppender;

我也使用了相同的import语句。然而,netbeans告诉我这个类不存在。 (对于log4j库中的任何其他类也是如此。)

通常,当我创建一个尚未导入的类的对象时,netbeans IDE会让我导入相应的类。

所以我创建了一个“FileAppender”类型的对象:

FileAppender appender = getAppender(logPath);

...我希望IDE会告诉我使用什么import-statement来导入这个类。

然而,没有这样的运气。显然,IDE不知道这样的类。

所以,我认为由于某种原因,IDE不知道在哪里看。 这再次意味着我在设置log4j时可能做错了。

这就是我的所作所为:

  1. 我从apache网站下载了log4j。
  2. 我将下载的文件(apache-log4j-2.8.2-bin.tar)复制到桌面上的文件夹中。
  3. 我使用Archive Utility来提取tar文件的内容。
  4. 作为步骤4的结果,我在tar文件所在的同一文件夹中有一个名为“apache-log4j-2.8.2-bin”的文件夹。
  5. 我去了netbeans IDE并按照此视频中的步骤将log4j添加到netbeans: https://www.youtube.com/watch?v=vqhQY7U9Rlc(我称新图书馆为“log4j”)
  6. 作为第5步的结果,我现在在我的Libraries-Folder
  7. 中有一个名为“log4j”的库。

    但IDE似乎并不了解任何log4j包或类。

    我做错了什么吗? (我做错了什么?)

    ************************ UPDATE ********************** *****************

    这是我添加log4j之后的netbeans库文件夹的屏幕截图:

    enter image description here

    这是IDE的图片,告诉我它不了解log4j的软件包 (你看到的是文件“InitLog4j.java”的上半部分,它同样位于名为“various”的包中。包“various”在名为“Source Packages”的文件夹中):

    enter image description here

    *********************** UPDATE2 *********************** ****************

    问题的存在与我是否将log4j包含为库或JAR / FOLDER无关。

    将log4j添加为Jar / Folder后:

    enter image description here

    ...我的netbeans文件夹结构如下所示(log4j位于路径以“/ Users”开头的文件夹中):

    enter image description here

    然而,问题仍然存在。 Netbeans不了解log4j包。

    ********************** UPDATE3 ************************ ***********

    我在log4j文件夹中的许多文件中找到了FileAppender类:

    enter image description here

    因此,类“FileAppender”存在。因此,当我创建一个“FileAppender”类型的对象时,Idea应该提供导入类。但是,这不会发生(在上面的屏幕截图中,您可以看到类“FileAppender”存在(参见左侧),您还可以看到IDE无法识别该类(请参阅右侧的代码))。

    ******** UPDATE4 ********************* **************

    我现在只在文件夹中添加了jar文件,而不是添加整个文件夹。 netbeans文件夹结构现在如下所示:

    enter image description here

    但是,IDE似乎仍然无法识别log4j包(例如,对于FileAppender对象,不建议使用import语句。)

1 个答案:

答案 0 :(得分:1)

根据您的屏幕截图。好像你已经将这个jar添加为库。您需要使用Add Jar/Folder..选项而不是 Add Library..

添加jar

enter image description here

它会提示窗口导航并选择你的罐子。

enter image description here

一旦你添加它们,它应该看起来像

enter image description here

你可以从这里展开jar,看看jar中是否存在必需的类。

<强> ==更新==

您只需选择*.jar文件而不是整个文件夹。如下图所示。

enter image description here