我正在尝试创建一个RESTful Web服务,我添加了以下jar文件,但是当我添加import javax.ws.rs.core.MediaType;
时,它用红线加下划线,它表示
"import javax.ws.rs.core.MediaType;"
与另一个声明相撞。我试图用ctrl + shift + O组织我的导入,它会自动删除上面的导入。
结果是无法识别MediaType.TEXT_PLAIN。
答案 0 :(得分: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!";
}
}
答案 1 :(得分:1)
您已导入两次。对于核心MediaType,您需要导入import javax.ws.rs.core.MediaType;对于页面属性,您必须导入import java.awt.PageAttributes.MediaType;
根据您的要求选择合适的一种。