簡體   English   中英

在清單文件中添加Class-Path(sqljdbc4),使得JAR無法找到/加載主類Main

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM