我是Netbeans IDE和Java的新手。我有一个java项目,显示了很多编译错误:
can not import "org.apache.commons.logging.Log"
有人可以帮我解决这些错误吗?如何在Netbeans IDE中添加库文件?
答案 0 :(得分:42)
NetBeans 6.8中的快速解决方案。
在“项目”窗口中,右键单击缺少库的项目名称 - >属性 - > “项目属性”窗口将打开。在“类别”树中,选择“库”节点 - >在“项目属性”窗口的右侧,按“添加JAR /文件夹”按钮 - >选择你需要的罐子。
您还可以看到我的简短Video How-To。
答案 1 :(得分:6)
如何将公共库导入netbeans。
评估NetBeans中的错误消息:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
NoClassDeffFoundError意味着您使用的代码中的某个地方,一个调用另一个无法找到的类的方法。那么这意味着你的代码是这样做的:MyFoobarClass foobar = new MyFoobarClass()
并且编译器很困惑,因为没有定义这个MyFoobarClass。这就是您收到错误的原因。
要知道接下来要做什么,您必须仔细查看错误消息。单词'org / apache / commons'让您知道这是提供您所需工具的代码库。您可以选择,您可以在apache commons中导入一切,也可以导入JUST 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的“源代码”并从源代码编译,自己生成jar并导入经验。您应该足够聪明,以了解并更正要导入的源代码。这些古老版本的apache commons可能是在较旧版本的Java下编译的,所以如果你走得太远,除非你在古老版本的java下编译它们,否则它们甚至可能都不会编译。
答案 2 :(得分:3)
在Netbeans 8.2中
<强> 1。从网络源下载二进制文件。 Apache Commos 位于:[http://commons.apache.org/components.html][1] 在这种情况下,您必须选择&#34; Logging&#34;在组件菜单中,点击 Releases 部分中的下载链接。直接网址:[http://commons.apache.org/proper/commons-logging/download_logging.cgi][2] 对我来说,正确的下载是来自二进制文件的文件: commons-logging-1.2-bin.zip 。
<强> 2。解压缩下载的内容。现在,您可以在zip文件创建的目录中看到几个 jar文件。
第3。将库添加到项目中。右键单击项目,选择 Properties ,然后单击Libraries(在左侧)。单击按钮&#34;添加Jar /文件夹&#34;。转到以前解压缩的内容并选择正确的jar文件。 Clic in&#34; Open&#34;然后单击&#34;确定&#34;。该库已加载!
答案 3 :(得分:0)
对于Netbeans 2020年9月版。 JDK 11
(仅建议用于Gradle项目)
1。。在项目的libs
文件夹中创建src/main/java
文件夹
2。复制过去的所有库jar文件
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。。保存,清理并运行该应用程序