0

我正在移动一个使用 Glassfish 的 Java EE 程序。我想出了一种将所有依赖项打包到一个 JAR 中的方法,但还没有真正想出如何使用 Glassfish 移植所有 Netbeans JDBC 连接。事实上,我真的不知道如何复制程序与 Glassfish 的集成——它是由 Netbeans 完成的。

我一直在搜索诸如“在另一台机器上部署战争”或“将 java ee 程序移动到另一台 glassfish 服务器”等关键字,但无济于事。

任何建议都会很棒!

编辑:我解决了这个问题。我的项目在 NetBeans 中被格式化为“应用程序客户端”,这似乎意味着它只会创建一个独立的 JAR。当我使用 One Jar 方法制作程序的独立 JAR 时,一切正常。看起来 Glassfish 甚至没有必要,尽管当我早些时候尝试在其上使用 Glassfish 时它仍然无法正确部署 JAR(当我不知道它不需要 Glassfish 时)。

不过需要注意的是,persistence.xml 也包含在 JAR 中,这意味着无论何时构建项目,它都必须指向用于生产的“正确”JDBC。

4

2 回答 2

0

如果没有关于您的项目的更多详细信息,我无法提供太多具体步骤,但是,如果这要投入生产,您真的应该花一点时间来修复您的项目,以便它构建尽可能自包含的部署存档。例如,让它使用 glassfish-resources.xml 中定义的应用程序范围的资源。让它将所有依赖的 JAR 捆绑到 WEB-INF/lib 中以用于 WAR 等。

之前的回复提到将 JDBC 驱动程序 JAR 放入 $GLASSFISH_HOME/glassfish/lib。根据您的应用程序要求和/或驱动程序,这可能不是最佳位置。您应该阅读为 JDBC 驱动程序配置细节以获取有关此主题的说明。

听起来您可能是 JavaEE 堆栈的新手。如果您可以添加有关您正在构建的项目类型(WAR、EAR 或 EJB jar 等)及其当前依赖项(JARS、JDBC 连接池等资源)的更多详细信息,那么我可以为您提供更具体的步骤。

同时,我建议您阅读Glassfish 应用程序部署指南,了解如何将应用程序部署到 Glassfish。

另一个阅读管理指南并最终熟悉开发 JavaEE6 应用程序的指南,您应该查看作为Glassfish 参考指南一部分的应用程序教程

于 2012-09-05T22:27:39.910 回答
0

假设您有一个基本的 Web 应用程序,您可以按照以下步骤操作。

首先,将 db 连接器复制到文件夹GLASSFISH_INSTALL/glassfish/lib中。

然后,复制您所称dependancies的 . 这些很可能是您之前安装的 DataSource / JNDI / Connection Pool / JMS / Security Realm 定义和设置。您可以在之前安装的 GlassFish的域配置文件中找到它们。该文件称为 domain.xml 并且位于GLASSFISH_INSTALL/glassfish/domains/domain1(假设您使用的是 domain domain1)下。最终尝试将此文件的相关部分复制到新的 GlassFish 路径。但我强烈建议通过管理控制台进行参数化。

重新启动 GlassFish。

如果您已将应用程序打包到waranearjarpackage 中,只需通过命令(如链接文档中所述)或使用管理控制台部署它。asadmin deploy

于 2012-09-05T14:05:47.230 回答