Java 为什么这个jersey ejb示例失败了?
在Jersey项目中构建和部署ejb示例 在Netbeans 8.2的OSX上使用JDK 8和Glassfish 4.1,项目构建war并部署ok,但Glassfish日志中出现以下问题: …org.glassfish.jersey.examples.jersey_ejb.entities.Message 在服务器运行时中注册不会实现任何提供程序 服务器中适用的接口。。 屏幕上有关于javax.ejb.EJBException的错误 我发现了一个类似的问题: 解决方案是将jersy common添加到类路径中 我将其添加到/Users/myusername/GlassFish_Server/GlassFish/lib文件夹中 该应用程序现在可以正常工作 我想知道它失败的原因,它是否是示例中的一个bug,以及是否有比这个手动jar拷贝更好的解决方案 在glassfish日志的早期,它讨论了捆绑供应器错误: 警告:正在跳过条目,因为它不是绝对URI 稍后,使用问题org.glassfish.jersey.examples.jersey_ejb.entities.Message的问题类是唯一使用可移植JNDI名称的问题类: 信息:访问未访问的引用信息:可移植的JNDI名称 EJB MessageListWriter: [java:global/ejb/MessageListWriter, java:global/ejb/MessageListWriter!javax.ws.rs.ext.MessageBodyWriter] 有谁能提供一个更好的解决方案,或者修复一个比我应该“不得不”做的jar拷贝更好的项目吗?Java 为什么这个jersey ejb示例失败了?,java,rest,jersey,jax-rs,glassfish-4.1,Java,Rest,Jersey,Jax Rs,Glassfish 4.1,在Jersey项目中构建和部署ejb示例 在Netbeans 8.2的OSX上使用JDK 8和Glassfish 4.1,项目构建war并部署ok,但Glassfish日志中出现以下问题: …org.glassfish.jersey.examples.jersey_ejb.entities.Message 在服务器运行时中注册不会实现任何提供程序 服务器中适用的接口。。 屏幕上有关于javax.ejb.EJBException的错误 我发现了一个类似的问题: 解决方案是将jersy common
链接到完整的glassfish输出TLDR:Glasfish的版本太旧了 我使用的代码来自今天最新的Jersey,即2.28 根据运行unzip-pmodules/jersey-common.jar META-INF/MANIFEST.MF的博客,glassfish目录中的grep Bundle版本应该提供运行时版本 在Glassfish 4.1中,我得到了Bundle版本:2.10.4 在GlassFish5中,我得到了Bundle版本:2.26.0 通过在lib目录中包含公共库,覆盖提供的版本,我很可能绕过了一个突破性的更改。但是,如果您真的必须更新glassfish 4.1,请按照上面博客中更完整的说明进行操作