问题描述
我无法导入以下库来将其用于处理某些错误。我一直在互联网上查找有关此问题的信息,但无法成功。是否必须下载特定的.jar?如果是这样,我将不胜感激,不知道该怎么做。我对这个网络和春季的东西很陌生。
代码:
package org.magnum.dataup;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.magnum.dataup.model.Video;
import org.magnum.dataup.model.VideoStatus;
import org.magnum.dataup.model.VideoStatus.VideoState;
import org.eclipse.jetty.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.data.rest.webmvc.ResourceNotFoundException;
@Controller
public class VideoController {
public static final String VIDEO_SVC_PATH = "/video";
public static final String VIDEO_DATA_PATH = VIDEO_SVC_PATH + "/{id}/data";
private static final AtomicLong currentId = new AtomicLong(0L);
private Map<Long,Video> videos = new HashMap<Long,Video>();
@RequestMapping(value = VIDEO_SVC_PATH,method = RequestMethod.GET)
public @ResponseBody Collection<Video> getVideoList() {
return videos.values();
}
@RequestMapping(value = VIDEO_DATA_PATH,method = RequestMethod.GET)
public void getData(@PathVariable("id") long id,HttpServletResponse response)
throws IOException {
VideoFileManager videoData = VideoFileManager.get();
try {
videoData.copyVideoData(videos.get(id),response.getOutputStream());
} catch (Exception e) {
throw new ResourceNotFoundException();
}
}
@RequestMapping(value = VIDEO_SVC_PATH,method = RequestMethod.POST)
public @ResponseBody Video addVideoMetadata(@RequestBody Video v,HttpServletRequest request)
throws IOException {
v.setId(currentId.incrementAndGet());
v.setDataUrl(getUrlBaseForLocalServer(request) + "/" + VIDEO_SVC_PATH + v.getId() + "/data");
videos.put(v.getId(),v);
return v;
}
@RequestMapping(value = VIDEO_DATA_PATH,method = RequestMethod.POST)
public @ResponseBody VideoStatus addVideoData(@PathVariable("id") long id,@RequestParam MultipartFile data) throws IOException {
VideoFileManager videoData = VideoFileManager.get();
try {
videoData.saveVideoData(videos.get(id),data.getInputStream());
} catch (Exception e) {
throw new ResourceNotFoundException();
}
return new VideoStatus(VideoState.READY);
}
private String getUrlBaseForLocalServer(HttpServletRequest request) {
String baseURL = "http://" + request.getServerName()
+ ((request.getServerPort() != 80) ? ":" + request.getServerPort() : "");
return baseURL;
}
}
导入时的错误消息:
预先感谢
解决方法
您要查找的罐子可以从maven repo here中获得。
如果您使用maven进行依赖管理,只需将其添加到pom.xml
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-webmvc</artifactId>
<version>3.3.3.RELEASE</version>
</dependency>