gpt4 book ai didi

java - 我需要为 JDK 1.6 下载什么 Jersey 版本?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:54:58 24 4
gpt4 key购买 nike

我需要为 JDK 1.6 下载什么 Jersey(具有 RESTful Web 服务支持)版本?请提供下载的 URL,这将有所帮助。我还需要文件上传支持。客户端和服务器端的 jar 依赖项是什么?

文件上传的 REST 服务器代码如下所示:

@Path("/file")
public class FileService {
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void uploadFile(@FormDataParam("file") InputStream uploadedInputStream,@FormDataParam("file") FormDataContentDisposition aFileDetail) {
OutputStream os = null;
try {
File fileToUpload = new File("D:/uploadedFile");
os = new FileOutputStream(fileToUpload);
byte[] b = new byte[2048];
int length;
while ((length = uploadedInputStream.read(b)) != -1) {
os.write(b, 0, length);
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
os.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}


}
}

客户端代码如下所示:

Client client = ClientBuilder.newBuilder()
.register(MultiPartFeature.class).build();
WebTarget webTarget = client.target(REST_SERVICE_URL);
MultiPart multiPart = new MultiPart();

FileDataBodyPart fileDataBodyPart = new FileDataBodyPart("file",
new File("d:/classes12-1.jar"),
MediaType.APPLICATION_OCTET_STREAM_TYPE);
multiPart.bodyPart(fileDataBodyPart);

Response response = webTarget.request(
MediaType.MULTIPART_FORM_DATA).post(
Entity.entity(multiPart, multiPart.getMediaType()));

最佳答案

您需要 Jersey 2.6 版。 2.6 之后的任何东西都是用 Java 7 编译的。你可以从 Maven 中心下载“bundle”。该 bundle 将所有核心 jar 捆绑到一个 jar 中

核心包不支持多部分。您需要添加 jersey-media-multipart jar。您可以从here 下载它。 .除了这个 jar ,您还需要一个。如果在链接中向下滚动,您将看到 mimepull 1.9.3 的链接。您还需要下载它。

如果你使用 Maven,你真的只需要这两个依赖

<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.6</version>
</dependency>

如果客户端项目是一个不同的项目,那么在客户端项目中你应该只添加下面的依赖和上面的多部分依赖

<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.6</version>
</dependency>

如果客户端项目没有使用 Maven 或其他一些依赖管理系统,你将很难按顺序获取所有 jar,因为没有一个 jar 包含所有内置的 jar 只为客户端.您可以只使用上面的 jaxrs-ri jar,但它是一个大 jar,因为它还包含所有服务器类。因此,如果您需要它来表示 android 客户端,那么使用它可能不是一个好主意。在这种情况下,最好只使用 Maven 或 Gradle 等依赖管理器。

另请参阅:


更新

如果它不能仅使用 jaxrs-ri-2.6.jar jar,请尝试下载 jaxrs-ri-2.6.tar.gz上面的相同链接。解压缩并添加每个目录中的所有 jar

关于java - 我需要为 JDK 1.6 下载什么 Jersey 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com