独立的java Glassfish客户端。参考gf-client.jar

时间:2012-07-11 15:24:50

标签: java netbeans glassfish ejb

我正在部署使用EJB的应用程序。我写了一个EJB和一个java独立客户端来连接。一切正常。 但是,我有一个关于JAR依赖关系的问题。我正在使用Netbeans 7.1.2和Glassfish 3.1.2,我添加到客户端应用程序的jar是:

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

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

3 个答案:

答案 0 :(得分:1)

谢谢,

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

auto-depends.jar
部署-common.jar
与GlassFish CORBA的内部api.jar文件
内部api.jar文件
管理-api.jar文件
豆validator.jar
dol.jar
glassfish-corba-newtimer.jar
javax.ejb.jar
ORB-connector.jar
共util.jar
EJB-container.jar
glassfish-corba-omgapi.jar
javax.jms.jar
ORB-iiop.jar
配置-api.jar文件
ejb.security.jar
与GlassFish CORBA的orb.jar
javax.resource.jar
security.jar
配置-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
交易内部api.jar文件
connectors-internal-api.jar
glassfish-corba-codegen.jar
gmbal.jar
jta.jar
容器common.jar
glassfish-corba-csiv2-idl.jar
hk2-core.jar
kernel.jar

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

答案 1 :(得分:1)

Application Development Guide中找到了这个:

  

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

     

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

答案 2 :(得分:0)

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

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

The Enterprise Side of JavaFX: The Missing Part