- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 Java 64 位 Eclipse 应用程序,Eclipse 在 Windows 7 Pro x64 上运行。
我下载了 Jersey包,jaxrs-ri-2.7.zip,用于客户端 RESTful API 访问。
我添加了这些外部 jar(项目 | 构建路径 | 配置构建路径... | 库):
jaxrs-ri/api/javax.ws.rs-api-2.0.jar
jaxrs-ri/lib/jersey-client.jar
jaxrs-ri/lib/jersey-common.jar
这是来源:
package prjTestJersey;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
public static void main(String[] args)
{
try
{
Client oClient = ClientBuilder.newClient();
oClient.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
我在跨过第一行时收到以下错误,Clinet oClient...:
Source not found.
为什么会出现错误,我该如何解决?为什么是“找不到源”而不是真正的错误。
注意:我尝试将 3 个 jar 文件复制到项目的 lib 文件夹中,但这没有任何效果。我正在使用 Eclipse 调试器,所以在调试 View 中按 F11,然后在线路上按 F6。
更新:
我尝试创建一个全新的 32 位应用程序(WindowBuilder SWT 应用程序窗口)并简单地更新了 main(...),并遇到了同样的问题。这意味着问题与平台无关。
更新 2:
尝试运行的已发布答案是个不错的主意。 :-) 这提供了另一条线索,我必须找到它。这是转储。
Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/hk2/utilities/binding/AbstractBinder
at org.glassfish.jersey.client.ClientConfig.<init>(ClientConfig.java:452)
at org.glassfish.jersey.client.JerseyClientBuilder.<init>(JerseyClientBuilder.java:94)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at javax.ws.rs.client.FactoryFinder.newInstance(FactoryFinder.java:116)
at javax.ws.rs.client.FactoryFinder.find(FactoryFinder.java:206)
at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:86)
at javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:114)
at AppMain.main(AppMain.java:20)
Caused by: java.lang.ClassNotFoundException: org.glassfish.hk2.utilities.binding.AbstractBinder
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 12 more
最终答案:(感谢两个答案的帮助。)
我缺少依赖项。所需的列表是:
swt_win32_x86.jar
api/javax.ws.rs-api-2.0.jar
ext/jersey-guava-2.7.jar
ext/hk2-api-2.2.0.jar
lib/jersey-common.jar
lib/jersey-client.jar
最佳答案
您缺少包含类 org.glassfish.hk2.utilities.binding.AbstractBinder 的 hk2 api jar
关于java - Jersey ClientBuilder.newClient() : source not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22568354/
关于 javax.ws.rs.client.ClientBuilder,我已经阅读了 JavaDoc和 Jersey Documentation , 但我仍然不清楚什么时候应该使用 newClient
我明白了,已经问过类似的问题here 但是建议的解决方案对我不起作用。 下面是我的代码片段 ctx := context.Background() client, err := pubsub.NewC
我有一个 Java 64 位 Eclipse 应用程序,Eclipse 在 Windows 7 Pro x64 上运行。 我下载了 Jersey包,jaxrs-ri-2.7.zip,用于客户端 RES
本文整理了Java中me.hao0.antares.common.zk.ZkClient.newClient()方法的一些代码示例,展示了ZkClient.newClient()的具体用法。这些代码示
本文整理了Java中com.xjeffrose.xio.core.ZooKeeperClientFactory.newClient()方法的一些代码示例,展示了ZooKeeperClientFacto
我正在开发一个使用 Google Pub/Sub 客户端库的 golang 应用程序。我正在使用 Google 容器引擎进行部署。我按照以下步骤进行部署 - 使用 CGO_ENABLED=0 GOOS
我收到以下错误: java.util.ConcurrentModificationException: KafkaConsumer is not safe for multi-threaded acc
我已经尝试使用驱动程序 mongodb 进行简单的连接,就像这个 repos 中的教程一样 github mongo-go-driver我只是这样写客户: import ( "fmt"
我是一名优秀的程序员,十分优秀!