在 NetBeans 中永久包含外部 jar
Including external jars permanently in NetBeans
我正在构建一个 Java Swing 应用程序。该项目需要一个名为 JCalender 的 jar 文件。我已将其添加到 Libraries 文件夹中,并且在我的 NetBeans 计算机上一切正常。但是当我在朋友 NetBeans 中打开同一个项目时,它无法识别该库。我必须手动 select 将文件放在项目 dist/lib 文件夹中。如何避免这种情况?请帮助!
您需要执行 "clean and build" 并且您的 jar 将位于 dist 文件夹中。它将包括外部罐子
您可以阅读更多相关信息here
But when i open the same project in my friends NetBeans, it doesn't
recognizes this library. I've to manually select the file placed
inside the projects dist/lib folder. How to avoid this?
您无法避免这种情况,因为这实际上不是问题。要编译和 运行 项目,您需要能够访问开发中涉及的外部库,因此如果您在与您不同的计算机上打开 NetBeans 项目,您肯定需要解析对外部库的引用。据我所知,IDE 无法自动执行此操作。
Can't i give the relative path to the lib folder for that specific
library somewhere in project properties?
你可以试一试。恕我直言,如果真正的目标是与其他开发人员共享一个项目,那么我会改变策略。我会创建一个库(工具 -> 库)并告诉我的伙伴创建完全相同的库,包括库类路径中的 JCalendar
JAR 文件。我会将此库包含在项目属性中,最后我会使用 Git 或 SVN 等版本控制工具来共享项目。
通过这样做,您的伙伴仍然需要包装在 NetBeans 库中的 JAR 文件的副本,但项目属性不会指向寻找 JAR 文件的 fixed/relative 路径,但会包含一个引用到给定的图书馆。库本身将解析对 JAR 文件的依赖性。如果您查看 project.properties
文件,您会看到类似这样的内容:
javac.classpath=\
${file.reference.jcalendar-1.4.jar}
但是如果你按照我的建议去做,那么你会看到这样的东西:
javac.classpath=\
${libs.JCalendar.classpath}
这里 libs.JCalendar.classpath
将解决依赖关系,这样您的伙伴就可以将实际的 JAR 文件放在他们喜欢的任何文件夹中,并且项目应该可以正常编译。
另一种选择是使用 Maven 来管理项目依赖关系,但老实说我不是 Maven 专家,所以我无法在这方面为您提供帮助。
我认为您的问题是由于您提供了 jar 文件的绝对路径。
在文件选择器的写入端选择 jar 时,可以选择
相对路径和绝对路径你应该点击绝对路径。
我是 java 的新手,但无论如何,我遇到了同样的问题并为我的项目找到了解决方案
如果您使用的是 Netbeans,这对您来说会很容易
让你的项目名称是ABC并且你所有的依赖jar文件都在
文件夹 MyResourceCollection
现在我们需要永久导入此文件夹下的所有 jar,
因此来自 Netbeans,
- 右键单击您的项目名称
- 转到属性
- 前往图书馆
- 在图书馆页面中,检查 "libraries folder" 标签
- 您可以在标签的右侧找到一个浏览按钮
- 单击 浏览 和 select MyResourceCollection 文件夹
- 一个新的window会来,只需按下一步-->下一步--->完成
一切都完成了,现在通过将文件夹移动到不同的位置来检查自己
我正在构建一个 Java Swing 应用程序。该项目需要一个名为 JCalender 的 jar 文件。我已将其添加到 Libraries 文件夹中,并且在我的 NetBeans 计算机上一切正常。但是当我在朋友 NetBeans 中打开同一个项目时,它无法识别该库。我必须手动 select 将文件放在项目 dist/lib 文件夹中。如何避免这种情况?请帮助!
您需要执行 "clean and build" 并且您的 jar 将位于 dist 文件夹中。它将包括外部罐子
您可以阅读更多相关信息here
But when i open the same project in my friends NetBeans, it doesn't recognizes this library. I've to manually select the file placed inside the projects dist/lib folder. How to avoid this?
您无法避免这种情况,因为这实际上不是问题。要编译和 运行 项目,您需要能够访问开发中涉及的外部库,因此如果您在与您不同的计算机上打开 NetBeans 项目,您肯定需要解析对外部库的引用。据我所知,IDE 无法自动执行此操作。
Can't i give the relative path to the lib folder for that specific library somewhere in project properties?
你可以试一试。恕我直言,如果真正的目标是与其他开发人员共享一个项目,那么我会改变策略。我会创建一个库(工具 -> 库)并告诉我的伙伴创建完全相同的库,包括库类路径中的 JCalendar
JAR 文件。我会将此库包含在项目属性中,最后我会使用 Git 或 SVN 等版本控制工具来共享项目。
通过这样做,您的伙伴仍然需要包装在 NetBeans 库中的 JAR 文件的副本,但项目属性不会指向寻找 JAR 文件的 fixed/relative 路径,但会包含一个引用到给定的图书馆。库本身将解析对 JAR 文件的依赖性。如果您查看 project.properties
文件,您会看到类似这样的内容:
javac.classpath=\
${file.reference.jcalendar-1.4.jar}
但是如果你按照我的建议去做,那么你会看到这样的东西:
javac.classpath=\
${libs.JCalendar.classpath}
这里 libs.JCalendar.classpath
将解决依赖关系,这样您的伙伴就可以将实际的 JAR 文件放在他们喜欢的任何文件夹中,并且项目应该可以正常编译。
另一种选择是使用 Maven 来管理项目依赖关系,但老实说我不是 Maven 专家,所以我无法在这方面为您提供帮助。
我认为您的问题是由于您提供了 jar 文件的绝对路径。 在文件选择器的写入端选择 jar 时,可以选择 相对路径和绝对路径你应该点击绝对路径。
我是 java 的新手,但无论如何,我遇到了同样的问题并为我的项目找到了解决方案
如果您使用的是 Netbeans,这对您来说会很容易
让你的项目名称是ABC并且你所有的依赖jar文件都在 文件夹 MyResourceCollection
现在我们需要永久导入此文件夹下的所有 jar,
因此来自 Netbeans,
- 右键单击您的项目名称
- 转到属性
- 前往图书馆
- 在图书馆页面中,检查 "libraries folder" 标签
- 您可以在标签的右侧找到一个浏览按钮
- 单击 浏览 和 select MyResourceCollection 文件夹
- 一个新的window会来,只需按下一步-->下一步--->完成
一切都完成了,现在通过将文件夹移动到不同的位置来检查自己