泽西岛客户端 javax.ws.rs.client.Client 未找到

问题描述 投票:0回答:3

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

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 
java jersey client
3个回答
0
投票

参加聚会有点晚了,但会回答以防其他人遇到这个问题。你问的最后一个问题是关键。是的,您可能使用了错误版本的罐子。

我正在开发一个遗留系统,并且遇到了与您相同的问题。结果我不得不使用 jakarta.ws.rs... 而不是 javax.ws.rs... 与我拥有的 jar 版本。要使用 javax.ws.rs...,我必须使用 2.25.x 版本(因为它实现了 JAX-RS 2.0 API)及更低版本。 在这里

查找版本

这是 Java EE 从 Oracle 转移到 Eclipse 基金会的一部分。


-1
投票

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


-1
投票

您想要获取 这个 zip 文件,并确保

jaxrs-ri/api/jakarta.ws.rs-api-2.1.6.jar
在您的类路径中。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.