jdk1.6下使用sardine和jackrabbit-webdav的问题

同步一个遇到的问题,前几天,客户给了一个服务器地址和用户名密码,让把上面的文件,download到另一台服务器上,我查了下,发现该服务器使用文件协议是webdav,什么鬼。。。以前用的文件协议都是sftp或者ftp…

这个webdav还真是从来没听说过,又暴露了知识面太窄了,所以百度了已下,找到的相关资料还真不多,不过已经基本够用了。

然后得到的结果就是使用sardine.jar或者jackrabbit-webdav.jar,然后相关代码也都贴的很详细。

我看过之后,对这两种方式进行了对比,结果就是更倾向于sardine,因为他的写法相对简单,代码量比jackrabbit-webdav会少一些,这里我就不贴代码了,大家百度一下就能看到了。

我这里主要说的问题是,当使用这两种技术的时候,如果你的jdk版本不是1.7,那么你应该是会报下面的错误的,就是怎么都连接不到服务器的感觉…会搞到你崩溃的,我甚至尝试了jackrabbit-webdav的几乎全部版本,结果证明无论哪个版本他在jdk1.6下都是跑不起来的,只有到jdk1.7以上才会正常的连接成功并读到文件。

好了就这样,如果遇到如上问题,怎么搞都不对,就换下jdk版本吧~~

时间: 2024-10-28 14:08:50

jdk1.6下使用sardine和jackrabbit-webdav的问题的相关文章

【JUC】JDK1.8源码分析之ConcurrentHashMap(一)

一.前言 最近几天忙着做点别的东西,今天终于有时间分析源码了,看源码感觉很爽,并且发现ConcurrentHashMap在JDK1.8版本与之前的版本在并发控制上存在很大的差别,很有必要进行认真的分析,下面进行源码分析. 二.ConcurrentHashMap数据结构 之前已经提及过,ConcurrentHashMap相比HashMap而言,是多线程安全的,其底层数据与HashMap的数据结构相同,数据结构如下 说明:ConcurrentHashMap的数据结构(数组+链表+红黑树),桶中的结构

centos6.5 64位下编译hadoop2.5.1源码

需要的工具:centos6.5 -64bit 需要的软件:java, svn, autoconf, automake, libtool, ncurses-devel, openssl-devel, gcc, lzo-devel, zlib-devel, znt, maven, protobuf, cmake 检测系统中是否已安装了某一软件命令:rpm -qa|grep 软件名,如检测系统中是否安装了svn: $ rpm -qa|grep svn 如果已安装,则跳过,如果没有安装,用命令:yum

WebDAV被启用(转)

WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET.POST.HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制. 描述: 目标开启了WebDAV. WebDAV(Web-based Distributed Authoring

nginx实战(二) WebDAV 模块 http_dav_module

前言 WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET.POST.HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制.nginx 编译时通过加入"–with-http_dav_module"可以启用对WebDav协议

【JUC】JDK1.8源码分析之ConcurrentHashMap

一.前言 最近几天忙着做点别的东西,今天终于有时间分析源码了,看源码感觉很爽,并且发现ConcurrentHashMap在JDK1.8版本与之前的版本在并发控制上存在很大的差别,很有必要进行认真的分析,下面进行源码分析. 二.ConcurrentHashMap数据结构 之前已经提及过,ConcurrentHashMap相比HashMap而言,是多线程安全的,其底层数据与HashMap的数据结构相同,数据结构如下 说明:ConcurrentHashMap的数据结构(数组+链表+红黑树),桶中的结构

ConcurrentHashMap底层实现原理(JDK1.8)源码分析

ConcurrentHashMap数据结构 ConcurrentHashMap相比HashMap而言,是多线程安全的,其底层数据与HashMap的数据结构相同,数据结构如下: 说明:ConcurrentHashMap的数据结构(数组+链表+红黑树),桶中的结构可能是链表,也可能是红黑树,红黑树是为了提高查找效率. ConcurrentHashMap源码分析 1.类的继承关系 public class ConcurrentHashMap<K,V> extends AbstractMap<K

Java面试必问之Hashmap底层实现原理(JDK1.8)

1. 前言 上一篇从源码方面了解了JDK1.7中Hashmap的实现原理,可以看到其源码相对还是比较简单的.本篇笔者和大家一起学习下JDK1.8下Hashmap的实现.JDK1.8中对Hashmap做了以下改动. 默认初始化容量=0 引入红黑树,优化数据结构 将链表头插法改为尾插法,解决1.7中多线程循环链表的bug 优化hash算法 resize计算索引位置的算法改进 先插入后扩容 2. Hashmap中put()过程 笔者的源码是OpenJDK1.8的源码. JDK1.8中,Hashmap将

Java虚拟机9:Java类加载机制

http://www.cnblogs.com/xrq730/p/4844915.html 前言 我们知道我们写的程序经过编译后成为了.class文件,.class文件中描述 了类的各种信息,最终都需要加载到虚拟机之后才能运行和使用.而虚拟机如何加载这些.class文件?.class文件的信息进入到虚拟机后会发生什么变 化?这些都是本文要讲的内容,文章将会讲解加载类加载的每个阶段Java虚拟机需要做什么事(加粗标红). 类使用的7个阶段 类从被加载到虚拟机内存中开始,到卸载出内存,它的整个生命周期

java实现多线程的三种方式

java中实现多线程的方法有两种:继承Thread类和实现runnable接口 1.继承Thread类,重写父类run()方法   public class thread1 extends Thread {           public void run() {                 for (int i = 0; i < 10000; i++) {                         System.out.println("我是线程"+this.get