2011-11-28 69 views
2

文件夾程序:如何製作jar文件?

C:\ProgramFolder 

在文件夾中有一個包類:

com\mysite\my_program 

主類名:

Program.class 

...或全稱:

com.mysite.my_program.Program 

在根文件夾中有清單文件的內容:

Manifest-Version: 1.0 
Main-Class: com.mysite.my_program.Program 

而且我做的jar文件:

jar cmf MANIFEST.MF my_program.jar com\mysite\my_program\*.class 

,並試圖吃午飯吧:

java -jar my_program.jar -a -b -c http://google.com/ google 

這樣的:

-a -b -c http://google.com/ 

are par amerts到我的程序。沒有他們,Tesult也是一樣。

而且我'得到錯誤:

Couldn't find or load main class Цjar 

在實際的程序清單文件看起來是這樣的:

manifest file

所以,我不知道爲什麼Цjar

+0

它真的說'classЦjar'嗎?打開jar文件,看看Manifest,如果它以某種方式搞砸了。 – Thilo

+0

[如何製作JAR文件?]的可能重複(http://stackoverflow.com/questions/2179113/how-to-make-a-jar-file) – 2011-11-28 04:43:35

+0

@Thilo是!)Ö - 是一封俄語信 – bluebyte

回答

2

在C:\ ProgramFolder中創建一個名爲META-INF的子目錄,並將MANIFEST.MF移入該目錄,重新創建你的jar文件。然後再試一次。

編輯

實際上罈子M將添加到正確的位置,但你缺少類路徑:

+0

完成。得到了同樣的錯誤 – bluebyte

+0

您在manifest.mf中缺少Class-Path以及...您需要在其中添加'Class-Path:.' –

+0

奇怪,但這有所幫助。謝謝 – bluebyte

2

使用eentrypoint),你可以在不增加manifest文件創建一個JAR這樣。

jar -cfe my_program.jar com.mysite.my_program.Program.class 

jar -cfe my_program.jar com/mysite/my_program/ Program.class

並啓動該程序:

java -jar my_program.jar -a -b -c "http://google.com/ google" 
+0

得到了同樣的錯誤 – bluebyte

0

有一個在Java創建包的標準方式。

使用命令是這樣的:

javac -d . *.java 

但是,如果你只會把文件夾,然後把它當作包將無法正常工作。

嘗試製作合適的包裝。

+0

無法識別的選項-d – bluebyte

+0

哦對不起!我編輯了我的答案。 – gprathour

0

NetBeans id自動生成jar文件。您無需爲jar文件額外工作。您必須在NetBeans中複製項目並編譯它。