我是 Netbeans IDE 和 Java 的新手。我有一个显示很多编译错误的 java 项目:
can not import "org.apache.commons.logging.Log"
有人可以帮我解决这些错误,如何在 Netbeans IDE 中添加库文件?
我是 Netbeans IDE 和 Java 的新手。我有一个显示很多编译错误的 java 项目:
can not import "org.apache.commons.logging.Log"
有人可以帮我解决这些错误,如何在 Netbeans IDE 中添加库文件?
NetBeans 6.8 中的快速解决方案。
在 Projects 窗口中,右键单击缺少库的项目的名称 -> Properties -> Project Properties 窗口打开。在类别树中选择“库”节点-> 在项目属性窗口的右侧按下按钮“添加 JAR/文件夹”-> 选择您需要的 jars。
你也可以看我的短视频 How-To。
如何将公共库导入 netbeans。
评估 NetBeans 中的错误消息:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
NoClassDeffFoundError 表示您使用的代码中的某个地方,一个称为另一个方法的方法调用了一个无法找到的类。所以这意味着你的代码是这样做 MyFoobarClass foobar = new MyFoobarClass()
的:编译器很困惑,因为没有在任何地方定义这个 MyFoobarClass。这就是您收到错误的原因。
要知道下一步该做什么,您必须仔细查看错误消息。“org/apache/commons”这个词让您知道这是提供您需要的工具的代码库。你有一个选择,要么你可以在 apache commons 中导入所有东西,要么你可以只导入 LogFactory 类,或者你可以在两者之间做一些事情。例如,只需获取 apache commons 的日志记录位。
你会想要走到路中间并获得公共日志记录。不错的选择,打开谷歌搜索apache commons-logging
。第一个链接将您带到http://commons.apache.org/proper/commons-logging/。去下载。在那里你会找到最新的。如果您的项目是在旧版本的 commons-logging 下编译的,那么请使用那些相同的旧版本,因为如果您使用较新的,代码可能会失败,因为较新的版本不同。
你会想要下载commons-logging-1.1.3-bin.zip
或类似的东西。阅读名称的含义。.zip 表示它是一个压缩文件。commons-logging 意味着这个应该包含你想要的 LogFactory 类。中间的 1.1.3 表示版本。如果您正在为旧版本进行编译,则需要将它们匹配起来,否则您可能会因为升级导致的更改而导致代码无法正确编译。
下载那个压缩包。解压它。搜索以 . 结尾的东西.jar
。在 netbeans 中右键单击您的项目,单击属性,单击库,单击“添加 jar/文件夹”并导入这些 jar。保存项目,重新运行,错误应该消失了。
二进制文件不包含源代码,因此您将无法深入了解调试时发生的情况。作为程序员,您应该下载 apache commons 的“源代码”并从源代码编译,自己生成 jars 并导入它们以供体验。您应该足够聪明,能够理解并纠正您正在导入的源代码。这些古老版本的 apache commons 可能是在较旧版本的 Java 下编译的,因此如果您回溯太远,它们甚至可能无法编译,除非您在古老的 java 版本下编译它们。
在 Netbeans 8.2 中
1. 从 Web 源下载二进制文件。Apache Commos 位于:[ http://commons.apache.org/components.html][1]在这种情况下,您必须在“组件”菜单 中选择“记录”,然后点击“发布”部分中的下载链接。直接 URL:[ http://commons.apache.org/proper/commons-logging/download_logging.cgi][2] 对我来说,正确的下载是文件:来自Binaries的commons-logging-1.2-bin.zip。
2.解压下载的内容。现在,您可以在从 zip 文件创建的目录中看到几个jar文件。
3. 将库添加到项目中。右键单击项目,选择属性并单击库(在左侧)。单击“添加 Jar/文件夹”按钮。转到先前解压缩的内容并选择正确的 jar 文件。单击“打开”,然后单击“确定”。库已加载!
适用于 Netbeans 2020 年 9 月版。JDK 11
(仅针对 Gradle 项目提出此建议)
1.在项目文件夹中创建libs
文件夹src/main/java
2.复制过去所有的图书馆罐子
3.files
在项目根目录的项目窗口选项卡中 打开 build.gradle
4.正确的主类(我的是mainClassName = 'uz.ManipulatorIkrom'
)
5.并在dependencies
添加下一个字符串:
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'application'
description = 'testing netbeans'
mainClassName = 'uz.ManipulatorIkrom' //4th step
repositories {
jcenter()
}
dependencies {
implementation fileTree(dir: 'src/main/java/libs', include: '*.jar') //5th step
}
6.保存,clean-build 然后运行应用程序