繁体   English   中英

泽西岛客户端文件上传异常:NoClassDefFoundError:org / glassfish / jersey / message / internal / HeadersFactory

[英]Jersey client file upload exception: NoClassDefFoundError: org/glassfish/jersey/message/internal/HeadersFactory

我试图创建一个泽西岛客户端来上传文件。 我已经搜索了i-net,但是找不到我的例外的适当解决方案。

这是我的客户代码:

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

import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.media.multipart.MultiPart;
import org.glassfish.jersey.media.multipart.MultiPartFeature;

//...

private static void clientUploadTest() {
    ClientConfig config = new ClientConfig();
    Client client       = ClientBuilder.newClient(config);
    client.register(MultiPartFeature.class);
    URI baseUri         = UriBuilder.fromUri("http://localhost/rest/test").build();
    WebTarget target    = client.target(baseUri);

    MultiPart multiPart = new MultiPart();

}

如果我尝试添加multiPart,则会出现以下异常。 我尝试了不同的方法,但我解决了问题。 我也尝试过这样的事情:

final FileDataBodyPart filepart     = new FileDataBodyPart("file", new File("C:/Users/admin/Downloads/testtext.txt"));
FormDataMultiPart formDataMultiPart = new FormDataMultiPart();
final FormDataMultiPart multiPart   = (FormDataMultiPart) formDataMultiPart.field("foo", "bar").bodyPart(filepart);

但我有同样的错误。

Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/jersey/message/internal/HeadersFactory at org.glassfish.jersey.media.multipart.BodyPart.<init>(BodyPart.java:70) at org.glassfish.jersey.media.multipart.MultiPart.<init>(MultiPart.java:66) at de.restclient.requests.ClientTest.clUploadtest(ClientTest.java:64) at de.restclient.requests.ClientTest.main(ClientTest.java:46) Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.message.internal.HeadersFactory 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) ... 4 more

这是我导入的球衣文件。

泽西岛文件

我无法将正常的GET和Post Request发送到服务器。 但是我也需要发送文件。 我希望有一个人可以帮助我。

缺少依赖项

org.glassfish.jersey.media:jersey-media-multipart

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM