我有一个名为
utilities.java
的实用程序文件,位于我的 ...\NetbeansProjects\Utilities
文件夹中,我想在我处理的任何 java 项目中使用其中的方法。
如果我右键单击
Libraries
文件夹,则会有一个包含 JAR/folder...
的选项,因此我选择该选项并找到并选择 Utilities
文件夹及其绝对路径,如图所示,这会将 Utilities
文件夹添加到Libraries
文件夹,如图。
但是我如何引用
Utilities.java
中的方法?
import
不提供任何帮助,我在每次尝试参考时得到的只是Cannot find symbol
。
我无法将
Utilities.java
转换为 .jar
文件(可以吗??),因为 Compile
的选项呈灰色。
我应该为每个此类未解析的外部引用添加什么前缀才能成功地将此类方法链接到我的代码?
无论我尝试只是
import
还是import static
,我都会收到错误,并建议更改为某些不适当的导入。
令人恼火的是,我认为我以前已经成功地做到了这一点......
根据您的屏幕截图,您似乎使用的是旧版本的 NetBeans(可能是 v8.2 或类似版本)。我会假设这一点 - 但如果可能的话值得升级。
通常,我建议创建两个 NetBeans 项目,然后将实用程序项目作为依赖项包含在应用程序项目中。
您可以使用 NetBeans 的“库”功能(如屏幕截图所示),但我认为仅创建项目会更干净,然后可以由 Git/Mercurial/等进行管理。根据需要,作为单独的项目,无需依赖 NetBeans 特定的库管理功能。
基于蚂蚁的方法
对于基于 Ant 的方法(NetBeans 8 的默认方法),将是这样的:
以上创建如下:
创建公用事业项目:
创建一个项目以使用实用程序 JAR:
现在您将看到该项目的 jar 文件被列为 MyApplication 的库依赖项之一。
清理并构建项目后,您将看到如下文件结构:
注意:对于 NetBeans 12,情况类似,只是他们现在明确选择 Ant 项目(相对于 Maven、Gradle),而不是默认选项。
基于 Maven 的方法
这是一种类似的方法:两个独立的项目。在本例中,它们都是“Maven > Java 应用程序”项目 - 与 Ant 方法相比,没有区别。
主要区别在于如何将实用程序 JAR 包含在应用程序中。这取决于您想要如何管理 Maven 工件 - 并且有点超出了这个问题的范围。一种方法是遵循此处的指南 - 但我认为还有其他方法。