首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GlassFish服务器上创建和运行应用程序客户端

在GlassFish服务器上创建和运行应用程序客户端
EN

Stack Overflow用户
提问于 2014-09-26 18:05:21
回答 1查看 2K关注 0票数 0

由于在GlassFish服务器上创建和运行应用程序客户端的示例未能启动,我向Netbeans和Glassfish提交了bug:

bug.cgi?id=247484

https://java.net/jira/browse/GLASSFISH-21215

如何运行应用程序客户端?

我跟着教程来造耳朵。它按预期部署:

代码语言:javascript
复制
thufir@dur:~$ 
thufir@dur:~$ glassfish-4.1/glassfish/bin/asadmin list-applications
Nothing to list.
No applications are deployed to this target server.
Command list-applications executed successfully.
thufir@dur:~$       
thufir@dur:~$ glassfish-4.1/glassfish/bin/asadmin deploy NetBeansProjects/EntAppEJB/dist/EntAppEJB.ear 
Application deployed with name EntAppEJB.
Command deploy executed successfully.
thufir@dur:~$ 
thufir@dur:~$ glassfish-4.1/glassfish/bin/asadmin list-applications
EntAppEJB  <ear, appclient, ejb>  
Command list-applications executed successfully.
thufir@dur:~$  

Java ( JNLP文件 for Java,JWS)启动和下载,如文档所示:

点击“启动”下载JNLP

代码语言:javascript
复制
thufir@dur:~$  
thufir@dur:~$ ll Downloads/EntAppClient 
-rw-r--r-- 1 thufir thufir 40314 Sep 26 10:20 Downloads/EntAppClient
thufir@dur:~$ 
thufir@dur:~$ mv Downloads/EntAppClient Downloads/EntAppClient.jnlp
thufir@dur:~$ 

根据玻璃鱼文件:

Java允许您的应用程序客户端轻松启动,并自动下载和更新。默认情况下,所有应用程序客户端都启用了它。有关更多信息,请参见使用Java。

GlassFish服务器开放源码版应用程序开发指南发布版4.0页

下载和启动应用程序客户端 如果为已部署的应用程序客户端启用了Java,则可以启动它进行测试。只需单击应用程序客户端旁边的启动按钮或管理控制台中application页面上的应用程序列表即可。

GlassFish服务器开源版应用程序开发指南发布版4.0页176

然而,JNLP无法执行

错误:

代码语言:javascript
复制
org.glassfish.appclient.client.acc.UserError: ACC007: The app client file /___JWSappclient/___app/EntAppEJB/EntAppEJBClient/EntAppClientClient.jar does not contain a manifest; the app client container cannot process it.  Embedded programs should pass URIs with scheme "jar:" for JAR files and scheme "file:" for directories.

请注意,错误涉及到EntAppClientClient.jar,而不是EntAppClient.jar

我可以在bug报告中提供哪些其他信息?我将至少链接到这个问题,并添加JNLP和运行它的javaws日志。还有什么有用的?

玻璃鱼原木,或至少一部分:

代码语言:javascript
复制
[2014-09-26T10:25:29.424-0700] [glassfish 4.1] [SEVERE] [] [javax.enterprise.system.container.appclient] [tid: _ThreadID=27 _ThreadName=http-listener-1(4)] [timeMillis: 1411752329424] [levelValue: 1000] [[
  Adapter[/___JWSappclient/___app/EntAppEJB] EntAppEJBClient/EntAppClientClient.jar
java.lang.NullPointerException
    at org.glassfish.appclient.server.core.jws.servedcontent.StreamedAutoSignedStaticContent.process(StreamedAutoSignedStaticContent.java:119)
    at org.glassfish.appclient.server.core.jws.RestrictedContentAdapter.processContent(RestrictedContentAdapter.java:264)
    at org.glassfish.appclient.server.core.jws.RestrictedContentAdapter.serviceContent(RestrictedContentAdapter.java:228)
    at org.glassfish.appclient.server.core.jws.AppClientHTTPAdapter.service(AppClientHTTPAdapter.java:190)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:744)
]]

[2014-09-26T10:25:29.709-0700] [glassfish 4.1] [WARNING] [NCLS-CORE-00091] [javax.enterprise.system.core] [tid: _ThreadID=24 _ThreadName=http-listener-1(1)] [timeMillis: 1411752329709] [levelValue: 900] [[
  Unable to set customized error page
java.lang.NullPointerException
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:171)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:744)
]]
EN

回答 1

Stack Overflow用户

发布于 2015-02-27 17:48:28

我建议您使用glassfish 3.1和jdk 1.7_10,这不需要对您的应用程序进行签名。我建议这样做,或者用JDK1.7更新45或更高版本对您的应用程序进行签名。墨西哥的问候

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26065700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档