[問題] java 在 linux 上編譯為 jar 並執行
之前都用 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 囧 ▎ ●> ● ◤ ▌ ﹍﹍ 0 ▊囧> 幹...
▲ ■┘ ■ ▎ ■ █◤ ▌ ㄏ▋ ︶■
〈﹀ ∥ ▁▁∥ ▎ ﹀〉◤ ▋ ▊ 〈\ ψcockroach727
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 47.149.227.123
※ 文章網址: https://www.ptt.cc/bbs/java/M.1521353594.A.483.html
→
03/18 16:46,
6年前
, 1F
03/18 16:46, 1F
→
03/19 01:13,
6年前
, 2F
03/19 01:13, 2F
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
→
03/19 09:10,
6年前
, 3F
03/19 09:10, 3F
→
03/19 09:10,
6年前
, 4F
03/19 09:10, 4F
還是有同樣錯誤
目前結構:
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
→
03/19 09:38,
6年前
, 5F
03/19 09:38, 5F
Error: Could not find or load main class rank.MainRun
※ 編輯: obelisk0114 (47.149.227.123), 03/19/2018 09:46:22
→
03/19 11:05,
6年前
, 6F
03/19 11:05, 6F
→
03/19 11:06,
6年前
, 7F
03/19 11:06, 7F
→
03/19 11:07,
6年前
, 8F
03/19 11:07, 8F
改用大大的指令 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
→
03/19 13:41,
6年前
, 9F
03/19 13:41, 9F
→
03/19 13:42,
6年前
, 10F
03/19 13:42, 10F
→
03/19 13:42,
6年前
, 11F
03/19 13:42, 11F
放到其他目錄還是有相同錯誤, 不過已經有把那個 jar 包進去了
※ 編輯: obelisk0114 (47.149.227.123), 03/19/2018 14:27:39
→
03/19 14:39,
6年前
, 12F
03/19 14:39, 12F
→
03/19 14:40,
6年前
, 13F
03/19 14:40, 13F
→
03/19 14:41,
6年前
, 14F
03/19 14:41, 14F
java 近期熱門文章
PTT數位生活區 即時熱門文章