java工程打包部署到linux下根据url找jar包里的文件找不到,请教。

请教问题如下:现本地windows环境程序解析后的url如下:file:/E:/ainbs2_ln/html/WEB-INF/classes/com/syncdatama... 请教问题如下:

现本地windows环境程序解析后的url如下:
file:/E:/ainbs2_ln/html/WEB-INF/classes/com/syncdatamanage/bo/SyncDataLog.bo
传入某方法中进行解析,运行正常。

打包部署到linux上,url被解析成如下格式:
jar:file:/reward/syncdatamanage/ep-syncdatamanage.jar!/com/syncdatamanage/bo/SyncDataLog.bo
运行结果异常,找不到此bo文件。。。现可确认ep-syncdatamanage.jar包存在,并里面包含SyncDataLog.bo,路径也正确。

本人对linux不是很熟,请教各位~请不吝赐教,先谢谢了!
展开
 我来答
百度网友845f74e61
2012-02-02 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1607万
展开全部
方法不对

你看,你第一个里没有jar出现.
file:/E:/ainbs2_ln/html/WEB-INF/classes/com/syncdatamanage/bo/SyncDataLog.bo
这相当于在本在磁盘里找文件,而不是jar里.
那这样,你的第二种方法就不对了.

URL url = getClass().getResource("/org/xxxxxxxx/bbbbb/cccccc");
你是这样的吗?
如果这样,是不对的,这样只是取得当前运行目录下的文件.

如果想得到jar文件里的文件,需要用
JarFile jar = new JarFile(file);
相当于解析压缩包的方式来找到文件.
更多追问追答
追问
您好,感谢您的热心回复,可否提供下qq。。这个问题还需要深入讨论下。。。
追答
白天用了不QQ,白天可以用百度hi,你留下QQ,晚上回去加你。
嗯,上面的回答可能有点问题,
我以前做的是将图片放到jar包里,做为资源文件使用。
我需要做的是列出资源列表,上面说的是如何解析。
----------------------------------------------------------------
如果想得到jar文件里的文件,需要用
JarFile jar = new JarFile(file);
相当于解析压缩包的方式来找到文件.
----------------------------------------------------------------

如果你能明确的知道文件的径,
还是使用。
URL url = getClass().getResource("/org/xxxxxxxx/bbbbb/cccccc");
如果造成了你的误解,表示报歉。

--------------------------------------------------------------------------------------------------
我输出了一下我的URL,如下

eclipse 下运行
/D:/Developer/eclipse-galileo/zazww/ZazwwApp/bin/org/torchgreen/zazww/picture/style/lotusflower.jpg

打成jar后运行
file:/E:/deploy/ZazwwApp.jar!/org/torchgreen/zazww/picture/style/lotusflower.jpg

再次对面回答的错误表示歉意。
不同的是我都是在windows下,回去后,找个linux虚拟机试一下。
Joslyn_Dream
2015-08-21 · TA获得超过288个赞
知道小有建树答主
回答量:454
采纳率:0%
帮助的人:160万
展开全部
你怎么部署到linux下的。你把找jar包的命令亮出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式