【问题标题】:Netbeans: need to include 3'rd party directory in classpathNetbeans:需要在类路径中包含第 3 方目录
【发布时间】:2012-07-06 08:52:34
【问题描述】:

我们有一个基于 NetBeans 平台在 NetBeans 中开发的应用程序。我们有一个运行时依赖的第 3 方程序,更具体地说,是其他程序 lib 文件夹中的一个 jar。

我们应该如何在类路径中包含其他程序的 jar?

其他程序制造商的建议是设置环境变量 CLASSPATH 以包含

C:\Progam Files\Other Program\lib\theJAR.jar

如果这不可行,我们应该将 JAR.jar 复制到 JRE-HOME\lib\ext

我们不能将 JAR.jar 复制到其他任何地方,这可能会导致它停止工作......

现在 NetBeans 不会注意到环境变量 CLASSPATH 上的内容。他们推荐的方法似乎是制作一个包装器,但这会导致复制 jar,除非有某种方法可以制作一个指向 CLASSPATH 的包装器模块?

目前我们正在将 jar 复制到 JRE-HOME\lib\ext。但是,当我们安装一些 java 更新时,就会有不必要的麻烦。

你有解决这个问题的办法吗?看起来可能很简单,但我还没有找到合适的地方看……

编辑:该应用程序是基于蚂蚁的。

【问题讨论】:

标签: java netbeans classpath netbeans-platform


【解决方案1】:

来自 Module System API 的文档overview of the runtime infrastructure(页面底部的“常见问题和解决方案”部分):

Q:我的模块能否将库 JAR 从外部添加到类路径中? IDE [阅读:平台] 安装?...

A:不容易。您有几个选择:

  1. 向 ide.cfg [您应用的 .config 文件] 添加一个条目。例如:

-cp:a c:\eak\lib\eak.jar 此启动文件提供了将类路径条目添加到 IDE 的 Java 调用的能力。
...

它继续列出另外两个选项。第二个选项与您提出的解决方案相同。第三个是“对你的模块进行分区并使用新的类加载器”,我不推荐任何一种方式,因为我没有这样做的经验(但值得一读)。

假设您正在寻找第一个选项,you will need to add a custom .conf file 指向您的项目并在 project.properties 文件中指向它,如下所示:app.conf=nbproject/my.conf。这会将您的自定义 .conf 文件添加到应用程序的安装目录,而不是通常添加的默认配置文件。当然,您需要将 -cp:a c:\eak\lib\eak.jar 条目添加到此自定义配置文件中才能加载 .jar。

在开发过程中,您需要将以下条目添加到 project.properties 文件中:run.args.extra=-cp:a c:\eak\lib\eak.jar。这会将命令行选项传递给您的调试实例。

【讨论】:

  • 这正是我们最终所做的,就像一个魅力。如果我们可以在 my.conf 中有对 %SOME_ENV_VARIABLE% 的引用,那将是完美的,但这似乎不可行。但是对于大多数用户情况,第 3 方程序将安装到同一目录,因此在少数情况下编辑 my.conf 不会有太大问题。
  • 很高兴您解决了这个问题。仅供参考,如果您有解决方案,您可以回答您自己的问题(并将其标记为已接受)。这样,遇到类似问题的其他人可以从您的发现中学习。
【解决方案2】:

您可以按照以下步骤添加该 .jar 文件:

  1. 在名为“Projects”的左侧面板中打开您的项目并右键单击“Libraries”,然后选择“Add JAR/Folder...”。

  2. 然后在打开的下一个对话框中从您存储它的位置选择您的 .jar 文件,然后按“打开”。

  3. Vola 完成了!!! (通过相同的过程,您还可以添加其他库,如 JavaCV、JMF 等)

  4. 现在您可以使用项目库中的 .Jar 文件了。

希望对您有所帮助。

【讨论】:

  • “NetBeans 模块”项目或“NetBeans 平台应用程序”项目上没有这样的选项。这只能在标准的 java 项目上完成。还是我错过了什么?
  • 通常项目选项卡显示您的项目、模块等,位于屏幕左侧。如果没有,则按“Ctrl+1”或转到菜单栏并单击“窗口”,将打开一个下拉菜单,然后选择“项目”。然后在项目菜单中选择/最大化您的项目或模块,然后就会有您的库文件夹。然后按照上面的说明进行操作。
  • 是的,我知道项目选项卡在哪里...但是在 netbeans 模块项目的“库”下,只有“添加模块依赖项”或“添加新库”选项,“添加 JAR”选项/Folder" 只有在项目是标准 Java 项目而不是 NetBeans 模块时才能选择。
  • 好的,我想我找到了答案。在模块中,您只能通过包装它来使用 .jar 文件。现在右键单击您的模块项目并在其中选择“属性”。现在在属性中从左侧面板中选择“库”。然后在打开的部分中选择“包装的 JAR”选项卡,然后“添加”您想要的 .jar 文件。请参阅这些:Link 1Link 2
  • NetBeans 仍会将 jar 复制到 modules/ext 并在程序部署时读取该 jar,而不是放在 C:\Progam Files\Other Program\lib\theJAR.jar 中的那个。罐子不能被复制...
猜你喜欢
  • 1970-01-01
  • 2015-03-31
  • 2015-12-17
  • 2016-04-07
  • 1970-01-01
  • 2012-07-03
  • 2014-02-17
  • 2012-11-02
  • 1970-01-01
相关资源
最近更新 更多