我正在尝试使用REST
中的Web App
项目类型和Netbeans 8.1
创建一个简单的JDK 1.8
服务,并部署在Glassfish Server 4.1.1
中。
我需要使用外部库来提供服务功能,即tika和lucene。
我的问题是,如果我在我的Nb项目的库中添加任何jar(右键单击 - >添加jar /文件夹:tika-app-1.12.jar),我得到:
Grave:找不到类[javax / cache / configuration / Configuration]。 加载时出错[类 org.apache.cxf.jaxrs.client.cache.CacheControlFeature]
Advertencia:StandardWrapperValve [BusquedaApplication]: servlet的Servlet.service()BusquedaApplication引发了异常 java.lang.NullPointerException at org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor.filter(JAXRSBeanValidationInInterceptor.java:64) 在 org.glassfish.jersey.server.ContainerFilteringStage.apply(ContainerFilteringStage.java:132) ...
我尝试在glassfish/lib
,glassfish/domains/<mydomain>/lib
和glassfish/domains/<mydomain>/lib/ext
中添加jar文件,但错误仍然存在。
请注意,只要我在Nb库文件夹中添加jar,就会显示这些错误,无论我是否在我的代码中引用它。
如果我删除了jars,服务就会毫无错误地部署,我也可以正确地调用它并获得适当的响应。
非常感谢任何有关处理这些外部库的正确方法的见解。
答案 0 :(得分:0)
好的,我想我已经明白了。
能够使用外部库:
请勿将它们打包到war
文件中。在Nb:转到Project Properties -> Libraries -> Compile-time libraries
。然后取消选中所有列出的库的“包”框。
将所有.jar
个库复制到<domains-folder>/<your-domain-name>/lib
。请注意,您的域文件夹可能不在Glassfish的安装目录中。您可以在Nb(转到Services tab -> right-click Glassfish server -> Properties -> Common -> Domains Folder
)
delegate="false"
文件的class-loader
元素中设置glassfish-web.xml
。 这对我有用。我希望我能在类似的情况下帮助其他任何人。