java 板


LINE

我写了一个程式日後要把他汇出成jar档来执行, 这个程式会读取图片来做处理, 因此我希望将程式的部份和图片资源的部份分开包装, 像这个样子: ┌─┐ ┌─┐ │A│ │B│ └─┘ └─┘ A是一些CLASS包成的jar档, 也就是程式主体。 B则是单纯的图片及文字档等等。 我希望日後把A跟B放在同一个路径下, 双击A後可以执行并且读到B的内容。 但是我上网查了几天资料, 只有找到JAR protocal这个关键字, 也试过他的路径格式 jar:file:*******.jar! 但是总是读不到B的图片。 除非我把他包成 ┌───┐ │A+B │ └───┘ 再配合 getResource 或是 getResourceAsStream 才可以读到B的图片。 但是我不可能这麽做阿... 因为假设未来A跟B的档案大小都有一定程度, 当我程式有新版本要释出时, 不可能要连B一起包给使用者阿。 或是当我需要改变B的图片, 我希望不要连着程式本身(也就是A)一起包给使用者, 只要让使用者下载新版的B并且替换就好。 我知道有另一种办法, 就是不要把图片资源包成JAR档, 直接用资料夹整理再放在与A相同的路径下。 这样虽然可以方便未来个别更新程式以及图片。 但是我希望我的图片不要「轻易」的被使用者复制、更改或是散布。 如果只用资料夹整理, 我的图片就很容易被人修改或是做其他的事。 也有可能会对程式本身造成问题。 基於此种原因,我还是需要把他们包成两个JAR档。 可是我就是试不出来他该怎麽写… 因此在这边徵求各位先进指点一些方向, 谢谢各位了! 後来的解决方式: 其实也是利用jar protocal的方式, 只是先前我打错了。 URL url = new URL("档案路径"); 如果要像我这样汇出成A、B 2个jar, 然後直接执行A的话, 首先先把A、B两个jar档放在同个目录下, 假设是D:/test/下好了, 档案路径要打成: jar:file:B.jar!/a/b/c.jpg 红色部份是固定的,所以不用更动。 黄色部份是B.jar的位置,这边用的是相对位址, 位址的起始就是A.jar放的位置,也就是D:/test/ 这部份也可改写成: jar:file:./B.jar!/a/b/c.jpg 或改写成绝对位址: jar:file:D:/test/B.jar!/a/b/c.jpg 记得jar後面要加上一个"!" 紫色部份是图片档在B.jar里的位置。 就是当初在汇出时, 图片档在专案下的相对位址。 记得要把图片放在 专案名称/bin/ 的下面 不然汇出的时候是怎麽样也无法读到的。 此范例是放在 专案名称/bin/a/b/c.jpg 以上是汇出成jar的执行配置。 但是在开发过程中,(我是用eclipse) 在执行a的程式时, a的执行位置是在 专案名称/ 之下, 也就是跟 bin、src 同层目录之下, 所以要把B.jar放在 专案名称/B.jar 这样用eclipse执行的时候才会读到。 那大概就是这样。 -- ◢▊ ◣ ◥ ◢ ◢▊ ◣ sunnycat █◤ ▊ ◢▇▅▇▅ ▊◢▆ ◢▇▇▅ ▊◢▆▇▅ ◤ ▊ ▊ ◢▇ ◥◢◤▏█◤◢◥█◣ █◤◢ ◤█◤◢ █◣█◤ ◢ ◥◢◤▏█◤ ◢ █◤ ▁▏█◤◥▅◤ ◥ ◤ ◥ ◥█◤ ◥◥◤◥▄◤▏ ◥▂◤▏◥ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.87.89
1F:→ omidofor:想不到我才刚po完文没多久就解决了@@ 08/12 20:26
2F:→ omidofor:由於板上不方便连推,我是要删文还是回文打上解决办法呢 08/12 20:28
3F:推 PsMonkey:直接大 E 修改文章也可以 08/12 21:06
※ 编辑: omidofor 来自: 140.115.87.89 (08/12 22:12)
4F:→ sbrhsieh:图片包在 jar 里并不会比较难以复制、修改、散布。 08/12 23:18
5F:→ omidofor:是没错啦@@,我主要是想防那些不懂写程式的人 08/12 23:51
6F:→ omidofor:那请问有没有什麽好方法可以达到不易复制、修改的目的? 08/12 23:53
7F:→ omidofor:希望不要是关於加解密或是将图片转成自己定义的格式 08/12 23:56
8F:推 musie:改个副档名就好了... 08/13 11:51







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP