1

我正在部署一个使用 EJB 的应用程序。我已经编写了一个 EJB 和一个 Java 独立客户端来连接。一切正常。但是,我对 JAR 依赖项有疑问。我正在使用 Netbeans 7.1.2 和 Glassfish 3.1.2,我添加到客户端应用程序的罐子是:

  1. appserv-rt.jar
  2. javaee.jar
  3. gf-client.jar

我从这里读到:http: //glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB,比 gf-client.jar 本身拥有很多依赖项。查看其中的 MANIFEST 文件后,我看到它提供了很多其他 jar 的亲属路径,然后,我必须直接在 glassfish 安装路径中引用这个 jar。如果我想将此应用程序分发给客户端,这是不可接受的,所有使用该应用程序(客户端)的客户端都需要下载 Glassfish?

所以我的问题是,我该如何处理?有没有办法避免从 glassfish 安装路径直接引用 gf-client.jar?

4

3 回答 3

1

谢谢,

我通过将这些罐子添加到我的项目中解决了我的问题:

auto-depends.jar
部署-common.jar
glassfish-corba-internal-api.jar
internal-api.jar
management-api.jar
bean-validator.jar
dol.jar
glassfish-corba-newtimer.jar  
javax.ejb.jar
orb -connector.jar
common-util.jar
ejb-container.jar
glassfish-corba-omgapi.jar  
javax.jms.jar
orb-iiop.jar
config-api.jar
ejb.security.jar
glassfish-corba-orb.jar
javax。 resource.jar
security.jar
config-types.jar
glassfish-api.jar
glassfish-corba-orbgeneric.jar  
javax.servlet.jar
ssl-impl.jar
config.jar
glassfish-corba-asm.jar
glassfish-naming.jar
javax.transaction.jar
transaction-internal-api.jar
connector-internal-api.jar    
glassfish-corba-codegen.jar    
gmbal.jar
jta.jar
container-common.jar
glassfish-corba-csiv2-idl。 jar  
hk2-core.jar
kernel.jar

我认为在某些情况下不需要所有的罐子。希望它会有所帮助。

于 2012-07-17T12:24:19.500 回答
1

应用程序开发指南中找到了这个:

as-install/lib/gf-client.jar文件复制到客户端计算机并将其包含在客户端的类路径中。

gf-client.jar 文件在其 MANIFEST.MF 文件中引用 GlassFish Server JAR 文件。如果客户端计算机上没有安装 GlassFish Server,您还必须将as-install/modules目录复制到客户端计算机并保持其相对于 as-install /lib/gf-client.jar 文件的目录结构。或者你可以使用 package-appclient 脚本;请参阅使用 package-appclient 脚本。

于 2016-10-24T16:24:27.643 回答
0

您可能需要考虑 Java Web Start 并让 GlassFish 自己决定客户端本地 ACC 必须使用哪些依赖项。这些将由客户端自动下载。

我写了一篇关于如何编写通过 Java Web Start 启动并使用依赖注入作为服务器端资源代理的 JavaFX 应用程序的教程:

JavaFX 的企业方面:缺失的部分

于 2013-06-08T15:12:31.217 回答