我创建了自己的PackagesResourceConfig
,如下所示:
import com.sun.jersey.api.core.PackagesResourceConfig;
import javax.ws.rs.core.MediaType;
import java.util.HashMap;
import java.util.Map;
public class ResourceConfigClass extends PackagesResourceConfig {
@Override
public Map<String, MediaType> getMediaTypeMappings() {
Map<String, MediaType> map = new HashMap<String, MediaType>();
map.put("xml", MediaType.APPLICATION_XML_TYPE);
map.put("json", MediaType.APPLICATION_JSON_TYPE);
return map;
}
}
但是现在当我启动我的应用程序时,它给了我一个错误,上面写着:
包数组不能为 null 或为空
这来自泽西岛的这个源代码:
/**
* Search for root resource classes declaring the packages as an
* array of package names.
*
* @param packages the array package names.
*/
public PackagesResourceConfig(String... packages) {
if (packages == null || packages.length == 0)
throw new IllegalArgumentException("Array of packages must not be null or empty");
init(packages.clone());
}
但是我已经通过设置com.sun.jersey.config.property.packages
参数在我的 web.xml 中设置了包,所以它不应该为空。