想问问老紫竹,关于jar包和非jar包启动source变动的问题

maleangel 2009-11-05 06:33:10
我想问一下,有没有办法能用代码判断出。当前程序是从jar包内运行的还是非jar包(class)的方式运行的

因为打包前和打包后,从package中读取文件的代码是不同的,想做到打包不改代码,就必须判断出2种运行方式。

谢谢。
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
maleangel 2009-11-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 swandragon 的回复:]
路径不对,可能是你写的不对
http://blog.csdn.net/swandragon/archive/2009/11/05/4770445.aspx
[/Quote]
感谢4楼的blog,找到了有用的资料了。

可以用XXX.class.getResource("")返回的字串来判断。

class运行时:
file:/X:/.....
jar包运行时:
jar:file:/X:/.....

当然既然能取到这2种路径,就可以直接拼接相对路径了,不需要判断了。
Quebradawill 2009-11-05
  • 打赏
  • 举报
回复
关注
qq774097676 2009-11-05
  • 打赏
  • 举报
回复
关注 期待大牛。。。
swandragon 2009-11-05
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
ClassLoader.getSystemResource();
ClassLoader.getSystemResourceAsStream();
zy178327331 2009-11-05
  • 打赏
  • 举报
回复
关注,期待有人来解决
yanhan0615 2009-11-05
  • 打赏
  • 举报
回复
楼主用好相对路径,就可以让两种情况下都是用一个路径。。。如果要去判断的话。。。估计不好判断

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧