![](/img/trans.png)
[英]How do I use manifest.mf class-path for alternative main in same jar?
[英]Adding Class-Path (sqljdbc4) to manifest file makes JAR unable to find/load main class Main
最近,在我的項目中,JAR創建遇到了一些奇怪的問題。 我一直在編寫一個簡單的Swing應用程序,一個數據庫前端,但是暫時無法通過IntelliJ將其構建為jar。 首先,我遇到了JNI錯誤,然后它找不到或加載主類“ Main”,盡管事實上我有一個非常簡單的Main類,即Main,僅使用main()方法。
今天,我正在通過終端調查JAR創建,並決定嘗試從IntelliJ項目中的.class文件中進行此操作。 我寫了一個manifest.txt(也嘗試了manifest.mf),其中包含以下內容:
Manifest-Version: 1.0
Main-Class: Main
Class-Path: C:\Users\mac\IdeaProjects\MWBSQLGUI\sqljdbc4.jar
我用它來制作JAR: C:\\mywork jar cvfm MyJarName.jar manifest.txt dir1/*.class dir2/*.class
運行JAR會產生“找不到或加載主類Main”錯誤。 奇怪的是,如果我從清單中刪除類路徑行,則jar創建可以順利進行,並且可以運行該應用程序。 顯然,無論需要什么地方,它都會引發異常,因此它並沒有太大幫助。 知道如何合並sqljdc4.jar嗎? 我查了很多清單格式的文章,看來我做得正確。 我也在類路徑行之后嘗試過換行...
這是通過清單中的類路徑行創建並嘗試運行JAR的CMD輸出: http : //imgur.com/S0WDSyd
主類內容:
import View.MWBFrame;
public class Main {
public static void main(String[] args) {
MWBFrame frame = new MWBFrame("MWB SQL Lookup");
}
}
天哪,我知道了。 經過一個月的麻煩之后,我只是隨機地注意到有些人在類路徑中的C:\\ Program Files等文件前加了一個\\。 這為我解決了...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.