我试图在不使用JMX选项或web.xml选项的情况下禁用WADL.简单的JAX-RS应用程序类如下:
@ApplicationPath("resources")
public class TestWADL
extends Application
{
public Map<String, Object> getProperties()
{
Map<String, Object> props = new HashMap();
props.put("jersey.config.server.wadl.disableWadl", true);
return props;
}
}
Run Code Online (Sandbox Code Playgroud)
在WebLogic 12.2.1上,当属性设置为"true"时,它不会被部署.如果"jersey.config.server.wadl.disableWadl"更改为"com.jersey.config.server.wadl.disableWadl",则会部署但WADL仍处于活动状态.尝试使用"com.sun.jersey.config.server.wadl.disableWadl",但部署发生但WADL处于活动状态.
部署期间出错:
failed to preload on startup in Web application: "jersey-test".
A MultiException has 1 exceptions. They are:
1. org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl(requiredType=WadlApplicationContext,parent=JaxRsMonitoringListener,qualifiers={},position=-1,optional=false,self=false,unqualified=null,1563651367)
at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:75)
at org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:946)
at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:981)
at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:971)
at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:617)
at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:184)
at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:350)
at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:347)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255)
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:347)
at …
Run Code Online (Sandbox Code Playgroud)