2011-11-28 61 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中复制项目并编译它。