带程序的文件夹:
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/
是我程序的参数。如果没有他们,Tesult就是一样的。
我收到了错误:
Couldn't find or load main class Цjar
在实际程序清单文件中如下所示:
所以,我不知道为什么Цjar
答案 0 :(得分:2)
在C:\ ProgramFolder中创建一个名为META-INF的子目录,并将MANIFEST.MF移动到该子目录中,重新创建您的jar文件。然后再试一次。
编辑
实际上jar会将它添加到正确的位置,但是你缺少Class-Path:
答案 1 :(得分:2)
使用e
(entrypoint)就可以创建jar而不添加manifest文件。
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"
答案 2 :(得分:0)
有一种用Java创建包的标准方法。
使用这样的命令:
javac -d . *.java
但是,如果您只是制作文件夹,然后将其视为包,则无法使用。
尝试制作合适的包裹。
答案 3 :(得分:0)
NetBeans id自动生成jar文件。您无需为jar文件额外工作。您只需在NetBeans中复制项目并进行编译即可。