在NetBeans中永久包含外部jar

时间:2015-02-19 12:32:24

标签: java swing jar desktop-application netbeans-8

我正在构建Java Swing应用程序。该项目需要一个名为JCalender的jar文件。我已将此添加到Libraries文件夹,并且在NetBeans中我的计算机上的一切正常。但是当我在我的朋友NetBeans中打开同一个项目时,它并不能识别这个库。我手动选择项目dist / lib文件夹中的文件。怎么避免这个?请帮忙!

4 个答案:

答案 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,

  1. 右键点击项目名称
  2. 转到属性
  3. 转到图书馆
  4. 在图书馆页面中,查看“图书馆文件夹”标签
  5. 您可以在标签
  6. 的右侧找到浏览按钮
  7. 点击浏览,然后选择 MyResourceCollection 文件夹
  8. 将出现一个新窗口,只需按下一步 - >下一步--->完成
  9. 一切都已完成,现在通过将文件夹移动到不同的位置来检查自己