1

我正在开发一个 Netbeans RCP 应用程序,它执行一些部署在 GlassFish 服务器上的 EJB 连接。我使用 package-appclient 包含所需依赖项的 jar,并将gf-client.jarjar 文件添加到我的类路径中,并将以下行添加到我的project.properties文件中:

run.args.extra=-cp:a ./appclient/glassfish/lib/gf-client.jar

存储库位于我的应用程序的根目录。

当我在 Netbeans IDE 中编译/运行应用程序时,上述方法有效。但现在我希望能够创建一个独立的应用程序。

project.properties构建应用程序后文件会发生什么?我添加到此文件以添加gf-client.jar到类路径的额外参数将不再可行。我需要做什么改变?

4

2 回答 2

1

project.properties 文件仅供 IDE 使用,在服务器上部署应用程序时没有任何意义。

部署到服务器时有多种选择:

  1. 创建一个指向所需 jar的清单文件。
  2. 复制服务器 lib 文件夹下的 jar,在这种情况下,服务器上运行的所有应用程序都知道它
  3. 如果您的应用程序打包为 WAR 文件,请将 jar 放在应用程序的 lib 文件夹下。

还有其他几个选项,但这些是主要选项。

选项 2-3 是最简单的。

于 2012-11-13T10:09:12.533 回答
0

您需要在 NetBeans 平台应用程序中使用的任何 jar 文件都可以作为Wrapped JAR添加到模块中。您可以通过以下方式做到这一点:

  1. 右键单击需要访问此 jar 的模块
  2. 从上下文菜单中选择“属性”
  3. 选择“图书馆”类别
  4. 单击“包装的 JAR”选项卡
  5. 单击“添加 JAR”按钮
  6. 确保在再次运行之前“清理并构建”模块

如果您有其他模块需要访问此 jar 中的包,那么您需要将必要的包公开提供给这些其他模块(不要与public关键字混淆):

  1. 选择“API 版本控制”类别(在库类别下方)
  2. 选中要向其他模块公开的每个包旁边的复选框
  3. 确保在再次运行之前“清理并构建”模块

有关更多详细信息,请参阅 NetBeans 常见问题解答DevFaqWrapperModules


作为参考,如果您需要向应用程序的部署实例添加命令行选项,您可以通过编辑 NetBeans 工具中的 app.conf 文件来完成此操作。此文件位于您的应用程序中<NB_Install_Dir>/harness/etc/app.conf并将与您的应用程序一起打包。但是,编辑此文件将更改您构建的每个应用程序的每个 app.conf 文件。如果您构建了多个应用程序,则需要设置应用程序以使用自定义线束DevFaqNbPlatformAndHarnessMixAndMatch

于 2012-11-14T08:25:13.353 回答