我正在尝试实现指定here in section 6.5的非常简单的客户端,并由以下Eclipse Java代码(在Ubuntu下)提供:
package de.vogella.jersey.first.client;
import java.net.URI;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriBuilder;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
public class Test {
public static void main(String[] args) {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
// Fluent interfaces
System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_PLAIN).get(ClientResponse.class).toString());
// Get plain text
System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_PLAIN).get(String.class));
// Get XML
System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_XML).get(String.class));
// The HTML
System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_HTML).get(String.class));
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8080/de.vogella.jersey.first").build();
}
}
我已经安装了Tomcat服务器,我认为它正在运行,因为我可以在Eclipse的Servers列表中看到它,并且我已经在同一教程的6.1-6.4节中运行了该示例。我还将所有Jersey JARS添加到WEB-INF / lib。我确保启动一个与其他任何东西分开的新动态Web项目。
但是,我一直收到错误
The import com.sun.jersey cannot be resolved.
我知道Eclipse无法解析必要的软件包,但是如何让Eclipse知道这些呢?我已经下载了jaxrs-ri-2.9.zip
并将JARS复制到了WEB-INF / lib目录。
我正在使用Eclipse Kepler。
编辑:在项目下添加JAR文件" Properies / Java Build path"也没有用。
答案 0 :(得分:3)
我对这个非常好的video tutorial取得了更大的成功。
我正在使用Eclipse Kepler。确保首先通过“Help / Eclipse Marketplace ...”菜单安装JBoss。您还需要所需的Jersey archive。
按照上面的教程,我现在相信原来的问题是由于我没有安装正确的JAR文件。我最初使用的是bundle zip on this web page,但实际上您应该使用here, as stated above找到的JAR。
答案 1 :(得分:2)
这是因为您使用的来源是Jersey 1.x API。但是您正在使用2.x API。多数民众赞成在教程(现在)中说明。
问候