我一直在努力了解如何修复此错误:
SEVERE: Missing dependency for method public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 0 SEVERE: Missing dependency for method public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 1 SEVERE: Method, public java.lang.String com.myrest.FileService.uploadFile(java.io.File,com.sun.jersey.core.header.FormDataContentDisposition), annotated with POST of resource, class com.myrest.FileService, is not recognized as valid resource method.
我正在使用基于Apache Jersey的休息网络服务并进行上传服务。
之前有人遇到此错误吗?
我收到此代码的错误:
@POST
@Path("/upload{path:.*}")
@Consumes("multipart/form-data")
@Produces("text/plain")
public String uploadFile(
@FormDataParam("file") File file,
@FormDataParam("file") FormDataContentDisposition fileDetail) {
String fileLocation = "/files/" + fileDetail.getFileName();
System.out.println("Copying file to : " + fileLocation);
return "1";
}
答案 0 :(得分:22)
就我而言,问题是jersey-bundle
和com.sun.jersey.contribs
的不同库版本;在settign之后,两者都是相同的版本。一切顺利。
答案 1 :(得分:2)
错误消息的最后一行让我觉得你有一个丢失的JAR文件。
class com.myrest.FileService, is not recognized as valid resource method.
但除此之外我还没有看到@FormDataParam绑定到java.io.File之前,不确定框架是否可以将其反序列化为该对象。您是否尝试过反序列化为java.io.InputStream?此外,如果您使用Maven构建,请检查您的POM是否存在所有必需的依赖项。