如何将实用程序.java 作为文件夹放入库中,以便可以将其方法用于多个 java 项目?

Posted

技术标签:

【中文标题】如何将实用程序.java 作为文件夹放入库中,以便可以将其方法用于多个 java 项目?【英文标题】:how do i put utilities.java into a library as a folder so that I can use its methods with multiple java projects? 【发布时间】:2020-12-12 12:04:51 【问题描述】:

我有一个名为 utilities.java 的实用程序文件,它位于我的 ...\NetbeansProjects\Utilities 文件夹中,我想在我从事的任何 java 项目中使用其中的方法。

如果我右键单击 Libraries 文件夹,有一个选项包括 JAR/folder... 所以我选择它并找到并选择 Utilities 文件夹和它的绝对路径,如图所示,添加 Utilities 文件夹到Libraries 文件夹,如图所示。

但是如何引用Utilities.java 中的方法呢?

import 没有提供任何帮助,我在每次尝试引用时得到的只是Cannot find symbol

我无法将Utilities.java 转换为.jar 文件(可以吗??),因为Compile 的选项是灰色的。

为了成功地将这些方法链接到我的代码,我应该为每个此类未解析的外部引用添加什么前缀?

无论我尝试只使用import 还是import static,我都会收到错误,并建议更改为一些不适当的导入。

令人恼火的是,我认为我之前已经成功地做到了这一点......

【问题讨论】:

【参考方案1】:

根据您的屏幕截图,您使用的是旧版本的 NetBeans(可能是 v8.2 或类似版本)。我会假设这一点 - 但如果可能的话,它值得升级。

通常,我建议创建两个 NetBeans 项目,然后将实用程序项目作为依赖项包含在应用程序项目中。

您可以使用 NetBeans 的“库”功能(如屏幕截图所示),但我认为创建项目更简洁,然后可以由 Git/Mercurial/etc 管理。根据需要,作为单独的项目,无需依赖特定于 NetBeans 的库管理功能。

基于蚂蚁的方法

对于基于 Ant 的方法(NetBeans 8 的默认方法),应该是这样的:

上面的创建如下:

创建实用程序项目:

    文件 > 新建项目 > Java > Java 类库 项目名称:MyUtilities 创建您的包和 Utilities.java 文件。添加您需要的代码。 清理并构建项目。

创建一个项目以使用实用程序 JAR:

    文件 > 新建项目 > Java > Java 应用程序 项目名称:MyApplication 在项目资源管理器中右键单击 MyApplication 并选择属性弹出窗口。 Libraries > Add Project - 找到 MyUtilities 项目并选择它,点击“Add Project JAR Files”。

现在您将看到该项目的 jar 文件列为 MyApplication 的库依赖项之一。

清理并构建项目后,您将看到如下文件结构:

注意:对于 NetBeans 12,它是类似的,只是它们现在明确地选择了 Ant 项目(与 Maven、Gradle 相比),而不是默认。

基于 Maven 的方法

这是一种类似的方法:两个独立的项目。在这种情况下,它们都是“Maven > Java 应用程序”项目 - 与 Ant 方法相比,没有区别。

主要区别在于您如何在应用程序中包含实用程序 JAR。这取决于你想如何管理你的 Maven 工件——这有点超出了这个问题的范围。一种方法是关注guidelines here - 但我认为还有其他方法。

【讨论】:

以上是关于如何将实用程序.java 作为文件夹放入库中,以便可以将其方法用于多个 java 项目?的主要内容,如果未能解决你的问题,请参考以下文章

高级安装程序如何将变量实例名放入 EXE 引导程序中,以便预先安装 SQL Express 2012

如何将可运行文件放入捆绑包中?

如何在 monorepo 中保持 eslint 配置分开

将我的 HTML 放入电子邮件 [关闭]

带有MS访问数据库作为后端的VB.NET如何通过将数据库文件放入AppData文件夹进行部署?

血本急求:将对话框放入 DLL 文件当中,在主程序中作为子窗口非模态显示,做完操作后,释放该 DLL 的方法