无法识别导入的媒体类型

use*_*377 5 java restful-architecture

我正在尝试创建一个 RESTful Web 服务,我添加了以下 jar 文件,但是当我添加它时,它import javax.ws.rs.core.MediaType;带有红线下划线,并且它表示"import javax.ws.rs.core.MediaType;"与另一个语句冲突。我尝试使用 ctrl+shift+O 组织我的导入,它会自动删除上述导入。结果是 MediaType.TEXT_PLAIN 无法识别。

在此输入图像描述

azu*_*rog 4

导入语句的存在是为了方便您在编写代码时不必完全限定所有类型。

如果您被允许导入这两个类,那么当您尝试使用其中一个类时,编译器将不知道您指的是哪一个。

在出现这样的名称冲突的情况下,您需要完全限定其中一种类型,以便编译器能够java.awt.PageAttributes.MediaType区分javax.ws.rs.core.MediaType

import java.awt.PageAttributes.MediaType;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
//import javax.ws.rs.core.MediaType; // don't need this anymore

@Path("/hello")
public class Hello {
    @GET
    @Produces(javax.ws.rs.core.MediaType.TEXT_PLAIN) // fully qualify MediaType
    public String sayPlainTextHello() {
        return "Hello, World!";
    }
}
Run Code Online (Sandbox Code Playgroud)