我需要为JDK 1.6下载什么泽西版?

6 java rest jersey

什么Jersey(有RESTful Web服务支持)版本我需要下载JDK 1.6吗?请提供下载的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();
        }
    }


}
}
Run Code Online (Sandbox Code Playgroud)

客户端代码如下所示:

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()));
Run Code Online (Sandbox Code Playgroud)

Pau*_*tha 8

你需要Jersey版本2.6.使用Java 7编译2.6之后的任何内容.您可以从Maven central下载"bundle".捆绑包带有捆绑在一个罐子里的所有核心罐子

核心捆绑包没有Multipart支持.你需要添加jersey-media-multipartjar.你可以从这里下载它.除了这个罐子,还需要一个罐子.如果您在链接中向下滚动,您将看到mimepull1.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>
Run Code Online (Sandbox Code Playgroud)

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

<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
    <version>2.6</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

如果客户端项目未使用Maven或其他一些依赖managemnet系统,你将有一个很难让所有的罐子才能,因为没有包含所有的内置只是为客户罐子没有单一的罐子.你可以使用上面的jaxrs-rijar,但它是一个大jar,因为它也有所有的服务器类.因此,如果你需要它来说一个Android客户端,它可能不是一个好主意使用.在这种情况下,最好只使用像Maven或Gradle这样的依赖管理器.

也可以看看:


UPDATE

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