我正在构建Java Swing应用程序。该项目需要一个名为JCalender的jar文件。我已将此添加到Libraries文件夹,并且在NetBeans中我的计算机上的一切正常。但是当我在我的朋友NetBeans中打开同一个项目时,它并不能识别这个库。我手动选择项目dist / lib文件夹中的文件。怎么避免这个?请帮忙!
答案 0 :(得分:2)
但是当我在我的朋友NetBeans中打开同一个项目时,却没有 认识这个图书馆。我要手动选择放置的文件 在项目dist / lib文件夹中。怎么避免这个?
你不能避免这是因为它实际上不是问题。要编译和运行项目,您需要访问开发中涉及的外部库,因此如果您在与您的计算机不同的计算机中打开NetBeans项目,则肯定需要解析对外部库的引用。据我所知,IDE无法自动执行此操作。
我不能为该特定的lib文件夹提供相对路径 库项目属性中的某个库?
你可以尝试一下。恕我直言,如果真正的目标是与其他开发者共享项目,那么我将改变策略。我创建了一个库(Tools - > Libraries)并告诉我的伙伴创建了相同的库,包括库类路径中的JCalendar
JAR文件。我将这个库包含在项目属性中,最后我使用Git或SVN等版本工具来共享项目。
通过执行此操作,您的配合仍需要包含在NetBeans库中的JAR文件的副本,但项目属性不会指向寻找JAR文件的固定/相对路径,但会包含对给定库的引用。库本身将解析对JAR文件的依赖性。如果您查看project.properties
文件,您会看到如下内容:
javac.classpath=\
${file.reference.jcalendar-1.4.jar}
但如果按照我的建议,那么你会看到类似的东西:
javac.classpath=\
${libs.JCalendar.classpath}
这里libs.JCalendar.classpath
将解决依赖关系,因此您的配偶可以将实际的JAR文件放在他们喜欢的任何文件夹中,并且项目应该编译得很好。
另一种选择是使用Maven来管理项目依赖项,但老实说,我不是Maven专家,所以我无法帮助你走这条道路。
答案 1 :(得分:1)
你需要做一个“清理和构建”,你的jar将在dist文件夹中。它将包括外部罐子
您可以阅读更多相关信息here
答案 2 :(得分:0)
我认为您的问题是由于您提供了jar文件的绝对路径。 在filechooser的写入侧选择jar时,可以选择 相对路径和绝对路径,你应该点击绝对路径。
答案 3 :(得分:0)
我是java的新手,但无论如何,我遇到了同样的问题并为我的项目找到了解决方案
如果你在Netbeans,那对你来说很容易
让你的项目名称是 ABC ,你所有的相关jar文件都在 文件夹 MyResourceCollection
现在我们需要永久导入此文件夹下的所有jar,
所以来自Netbeans,
一切都已完成,现在通过将文件夹移动到不同的位置来检查自己