首页 > 解决方案 > Gradle 项目无法解决 Resourcenotfoundexception

问题描述

这是 gradle 项目的一部分。我是从 github 导入的。

package org.magnum.dataup;

import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
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.springframework.data.rest.webmvc.ResourceNotFoundException;
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;

@Controller
public class AnEmptyController{

  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;
  }

}

错误在

import org.springframework.data.rest.webmvc.ResourceNotFoundException;

throw new ResourceNotFoundException();

第一个说“导入 org.framework.data.rest 无法解析。第二个说“Resourcenotfoundexception 无法解析为类型”我需要安装一些库什么的吗?如果需要,我该怎么做?

标签: javaspringcloud

解决方案


推荐阅读