java 板


LINE

之前都用 IDE 解决,现在突然需要用 jdk 编译 我有三个目录: lib (放其他需要引用的 jar), 目前有 json-20180130.jar rank (我的程式 package) class (之後放产生的 class) main function 在 MainRun.java 需要引用其他 jar 的程式引用: import org.json.*; 我编写的 MANIFEST.MF (放在相同目录) 和执行 script 有错误而执行失败 这是 MANIFEST.MF 的内容: Manifest-Version: 1.0 Class-Path: . lib/json-20180130.jar Main-Class: MainRun 这是 script 的内容: javac -d class -cp ".:./lib/json-20180130.jar" rank/*.java jar -cvfm rank.jar MANIFEST.MF class/* java -jar rank.jar 请各位大大帮忙看一下哪边写错 ? -- 肝不好 肝若好 人生是黑白的 考卷是空白的 、 ﹐ ● ●b ▎ ●> ● ▌ ﹍﹍ 囧> 干... ▲ ■┘ ▎ ■ ▋ ︶■ 〈﹀ ∥ ▁▁∥ ▎ ﹀〉▊ 〈\ ψcockroach727 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 47.149.227.123
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1521353594.A.483.html
1F:→ Killercat: 这种情况多半还是用mvn或者gradle build简单点吧.... 03/18 16:46
2F:→ AI3767: 执行script的错误讯息是? 03/19 01:13
added manifest adding: class/rank/(in = 0) (out= 0)(stored 0%) adding: class/rank/MainRun.class(in = 5683) (out= 3133)(deflated 44%) ... Error: Could not find or load main class MainRun ※ 编辑: obelisk0114 (47.149.227.123), 03/19/2018 06:23:41
3F:→ ssccg: manifest中的class name要写rank.MainRun 03/19 09:10
4F:→ ssccg: 基本上java所有说到class name的都是指完整名称 03/19 09:10
还是有同样错误 目前结构: class (预定放产生的 class) rank (我的程式, main function 在 MainRun, 全部都有加 package rank;) lib (外部 jar, 目前是 json-20180130.jar) script MANIFEST.MF 修改内容: MANIFEST.MF Class-Path: lib/json-20180130.jar Main-Class: class.rank.MainRun script javac -d class -cp lib/json-20180130.jar rank/*.java jar -cvfm rank.jar MANIFEST.MF class/* lib/* ※ 编辑: obelisk0114 (47.149.227.123), 03/19/2018 09:30:10
5F:→ ssccg: 是rank.MainRun,没有class. 03/19 09:38
Error: Could not find or load main class rank.MainRun ※ 编辑: obelisk0114 (47.149.227.123), 03/19/2018 09:46:22
6F:→ ssccg: jar -cvfm rank.jar MANIFEST.MF -C class . 03/19 11:05
7F:→ ssccg: jar档中的相对路径要跟package一致,要把class重新对应到 03/19 11:06
8F:→ ssccg: jar档中的根目录,你可以解开jar档确认一下 03/19 11:07
改用大大的指令 jar -cvfm rank.jar MANIFEST.MF -C class . 可以执行成功,但好像不会把 lib 里面的 jar 包进去 将打包好的 jar 放到别的目录就无法执行 Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONArray at rank.MainRun.main ... Caused by: java.lang.ClassNotFoundException: org.json.JSONArray ... ※ 编辑: obelisk0114 (47.149.227.123), 03/19/2018 13:22:12
9F:→ ssccg: jar -cvfm rank.jar MANIFEST.MF -C class . lib/* 03/19 13:41
10F:→ ssccg: 我只是把你原本的 class/*换成-C class . (把class目录下全 03/19 13:42
11F:→ ssccg: 包进去且置换成根目录),其他你原本有的还是要有啊. 03/19 13:42
放到其他目录还是有相同错误, 不过已经有把那个 jar 包进去了 ※ 编辑: obelisk0114 (47.149.227.123), 03/19/2018 14:27:39
12F:→ ssccg: 看来单纯把jar包进去是不行的,有些执行环境可以是因为用了 03/19 14:39
13F:→ ssccg: 特殊的classloader,你必须把lib jar内容解开一起包到你的 03/19 14:40
14F:→ ssccg: jar里面,或是就一样把lib jar也复制到你要执行的目录 03/19 14:41







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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP