【问题标题】:Jersey client javax.ws.rs.client.Client not found泽西客户端 javax.ws.rs.client.Client 未找到
【发布时间】:2018-10-17 18:23:16
【问题描述】:

我有一个球衣客户。我在客户端类中有以下导入

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

当我编译我得到的应用程序时

./src/com/uciext/ws/class2/client/StudentClient.java:3: error: package javax.ws.rs.client does not exist
import javax.ws.rs.client.Client;
                         ^

我该如何解决这个问题

编辑:

This is the error trace

./src/com/uciext/ws/hw2/client/InventoryClient.java:4: error: package javax.ws.rs.client does not exist
import javax.ws.rs.client.Client;
                         ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:5: error: package javax.ws.rs.client does not exist
import javax.ws.rs.client.ClientBuilder;
                         ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:6: error: package javax.ws.rs.client does not exist
import javax.ws.rs.client.Entity;
                         ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:7: error: package javax.ws.rs.client does not exist
import javax.ws.rs.client.Invocation;
                         ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:8: error: package javax.ws.rs.client does not exist
import javax.ws.rs.client.WebTarget;
                         ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:9: error: package javax.ws.rs.core does not exist
import javax.ws.rs.core.MediaType;
                       ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:10: error: package javax.ws.rs.core does not exist
import javax.ws.rs.core.Response;
                       ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:15: error: cannot find symbol
         Client client = ClientBuilder.newClient();
         ^
  symbol:   class Client
  location: class InventoryClient
./src/com/uciext/ws/hw2/client/InventoryClient.java:15: error: cannot find symbol
         Client client = ClientBuilder.newClient();
                         ^
  symbol:   variable ClientBuilder
  location: class InventoryClient
./src/com/uciext/ws/hw2/client/InventoryClient.java:16: error: cannot find symbol
         WebTarget myResource = client.target("http://127.0.0.1:8080/inventory/rest/catalog");
         ^
  symbol:   class WebTarget
  location: class InventoryClient
./src/com/uciext/ws/hw2/client/InventoryClient.java:17: error: package Invocation does not exist
         Invocation.Builder builder = myResource.request(MediaType.TEXT_PLAIN);
                   ^
./src/com/uciext/ws/hw2/client/InventoryClient.java:17: error: cannot find symbol
         Invocation.Builder builder = myResource.request(MediaType.TEXT_PLAIN);
                                                         ^
  symbol:   variable MediaType
  location: class InventoryClient
12 errors

这是 c.sh。我使用球衣 2.2.7。我下载了 jersey 2.2.7 并将其复制到我的 lib 文件夹中。我可以有错误的 jar 版本吗?

JAXB_PATH=./lib/jaxb-ri-2.2.7/lib
JAXB_LIB=$JAXB_PATH/jaxb-api.jar:$JAXB_PATH/jaxb-core.jar:$JAXB_PATH/jaxb-impl.jar:$JAXB_PATH/jaxb-jxc.jar:$JAXB_PATH/jaxb-xjc.jar
JAXRS_PATH=./lib/jaxrs-ri/lib
JAXRS_API=./lib/jaxrs-ri/api
JAXRS_LIB=$JAXRS_PATH/jersey-server.jar:$JAXRS_PATH/jersey-common.jar:$JAXRS_PATH/jersey-container-servlet.jar:$JAXRS_PATH/jersey-container-servlet-core.jar:$JAXRS_API/javax.ws.rs-api-2.0.jar
CLASSPATH=$CLASSPATH:./lib/jaxrs-ri/api
CLASSPATH=$CLASSPATH:./lib/jaxb-ri-2.2.7/lib
CLASSPATH=$CLASSPATH:./lib/jaxrs-ri/lib
javac -classpath $JAXB_LIB:$JAXRS_LIB:. -d classes ./src/com/uciext/ws/hw2/util/*.java ./src/com/uciext/ws/hw2/backend/model/*.java ./src/com/uciext/ws/hw2/backend/*.java ./src/com/uciext/ws/hw2/backend/impl/*.java ./src/com/uciext/ws/hw2/service/model/catalog/*.java ./src/com/uciext/ws/hw2/service/model/order/*.java ./src/com/uciext/ws/hw2/service/model/orderconfirm/*.java ./src/com/uciext/ws/hw2/service/*.java ./src/com/uciext/ws/hw2/service/impl/*.java
javac -classpath $JAXB_LIB:$JAXRS_LIB:. -d classes ./src/com/uciext/ws/hw2/client/model/catalog/*.java ./src/com/uciext/ws/hw2/client/model/order/*.java ./src/com/uciext/ws/hw2/client/model/orderconfirm/*.java ./src/com/uciext/ws/hw2/client/*.java 

【问题讨论】:

  • 你目前有什么罐子?你不使用IDE吗?为什么你只在编译时才发现这个错误?

标签: java jersey client


【解决方案1】:

您是否包含了依赖项以获取此包的实现?
如果您使用 maven this 发布详细信息。
对于库版本,从here 下载库并按照以下tutorial 添加所需的jar。虽然 Client 类在 jaxrs-ri\api jar 中可用。

【讨论】:

  • 我正在使用 jar。我要在 lib 文件夹中包含什么 jar?
  • 我在没有 IDE 的情况下工作,在我的项目的文件夹 lib 中,我复制了文件夹 rjaxb-ri-2.2.7 jaxrs-ri
  • 你的构建环境是什么?你用的是普通的 javac 吗?
  • 我用 sh 编译。是的,我使用普通的 javac
  • 您需要将这些 jars 添加到您的类路径中。您可以将路径放在 bashrc 中的 jar 导出中,例如 CLASSPATH=$CLASSPATH:~/libs/jaxrs-ri/api
【解决方案2】:

您想要获取 this zip file 并确保 jaxrs-ri/api/jakarta.ws.rs-api-2.1.6.jar 在您的类路径中。

【讨论】:

    猜你喜欢
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2015-01-12
    • 2015-03-07
    • 2012-07-20
    相关资源
    最近更新 更多