一个奇怪的问题的解决方法
来源:互联网 发布:windows模拟器下载 编辑:程序博客网 时间:2024/06/01 20:54
前段时间写了个函数,通过反射机制得到jar包下,所有类以及测试方法,但是今天将应用部署到linux服务器上,测试怎么都跑不通而且包解析的类找不到,为此非常郁闷,开始查错。
第一步,怀疑是jar包路径的问题,将jar包拷贝到默认路径下,进行验证,可以解析类,于是想着是否可以让jboss的应用能够识别不放在默认路径下jar包,也就是动态添加classpath.为此花费了很多时间。结果证明这是徒劳的而且不符合jboss本身的设计原则。
第二步,仔细研究函数所用的方法,URLClassLoader,发现它本身就是动态加载jar包的意思,也就是说无需将jar包拷贝到默认路径,也就是证明我第一步的做法是徒劳的。那么是什么原因呢。同时在本地的测试环境下经过反复的测试,都是没有问题的。于是就想肯定是jar包路径指定的有问题。windows下jar包访问url和linux下jar包访问url是有区别的。
第三步,疯狂查找linux下jar包访问url的特殊性, google输入“URLClassLoader linux” 输入"ClassLoader Linux" 疯狂的找啊,找,都没有我需要的答案,就在即将放弃的时候(查了差不多5个小时)。突然灵光一闪为什么步输入我现在访问url的方式呢于是输入"file:/home/admin";这里我知道一般/home/admin的文件结构都是指linux了。果然发现我需要的信息,原来linux下url资源访问的格式是file:///home/admin ;而我的程序是按windows的标准来写的,是:file:/C:/test.jar;于是问题得到解决。写上面的文字,目的两个
1.说明查证问题的时候,方法很重要,其实应该从小处出发,先Review自己函数中每行代码很重要,然后才通过其他手段来验证,而在这个例子中我如果遵循这个原则就不会走第一步的冤枉路了。
2.坚持很重要,做测试做久了以后这点品质的确得到很大的提高,按以前老早换别的途径了。
当然坚持过了,就变成固执了。
- 一个奇怪的问题的解决方法
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- innerHTML的一个奇怪问题
- 一个ssh的奇怪问题。。。
- 一个很奇怪的问题
- 一个很奇怪的问题
- 一个奇怪有趣的问题
- 一个奇怪的tcp问题
- 一个很奇怪的问题
- 一个hash_map的奇怪问题
- 一个奇怪的CRASH问题
- 一个好奇怪的问题
- 一个奇怪的字符串问题
- 测试一个奇怪的问题
- JSF 一个奇怪的问题
- Pentaho
- 设置VMWare虚拟机与本机之间的文件交换
- 链二叉树先序读入三序输出
- 802.11n无线网络技术剖析
- Win32汇编源程序的结构(2)
- 一个奇怪的问题的解决方法
- Java中线程的高级应用
- 嵌入式操作系统开源项目列表
- C#中怎样使控件随着窗体一起变化大小(常见困难以及修正)
- Javascript:动态载入Javascript 和CSS 文件
- 我 -- 迷路了
- subversion-1.3.1.tar.bz2 tar.bz2 解压缩 命令
- 2009ACM多校联合暑期集训(9)——哈工大专场
- 如何使用live writer客户端来发布CSDN的博客文章?