我的环境是FC6+JAVA6 U4
当只有一个CALSS文件时,我新建了一个文本文件MANIFEST.MF,内容:
Manifest-Version: 1.0
Main-Class: Main
Created-By: 1.3.1 (Sun Microsystems Inc.)
然后在终端执行:
jar cvfm Main.jar MANIFEST.MF Main.class
生成的Main.jar双击就可以运行。但我现在有多个class文件:Arg.class, Split.class, Main.class
我也想打包成可以执行的jar文件,运行:
jar cvfm Main.jar MANIFEST.MF Main.class Arg.class Split.class
但是却不行。双击那个Main.jar没有任何反应。
请高手赐教!
当只有一个CALSS文件时,我新建了一个文本文件MANIFEST.MF,内容:
Manifest-Version: 1.0
Main-Class: Main
Created-By: 1.3.1 (Sun Microsystems Inc.)
然后在终端执行:
jar cvfm Main.jar MANIFEST.MF Main.class
生成的Main.jar双击就可以运行。但我现在有多个class文件:Arg.class, Split.class, Main.class
我也想打包成可以执行的jar文件,运行:
jar cvfm Main.jar MANIFEST.MF Main.class Arg.class Split.class
但是却不行。双击那个Main.jar没有任何反应。
请高手赐教!
jar cvf classes.jar Foo.class Bar.class
示例 2:使用现有的清单文件 "mymanifest" 并
将 foo/ 目录中的所有文件归档到 "classes.jar" 中:
jar cvfm classes.jar mymanifest -C foo/ .
可能是你的Manifest文件格式有点小问题
冒号后面注意只留一个空格(根据你贴出来的格式 貌似有三个space)
否则一般会报
Exception in thread "main" java.lang.NoClassDefFoundError: Main
它获得的主类名是" Main"
我的系统是Linux,莫非改方法只能在windows下使用?
另外,我想请教一下,如果我想其他人双击就能运行我的程序,是否一定要把jre大包进我的jar中?
总的来说,就是我想发布我的程序了,但要知道我的朋友们不是程序员,我想让他们都能直接双击运行我的程序。
但前提是系统要安装JAR。Windows默认没安装Java虚拟机,这让我郁闷了半天。
我编了一个小游戏给高中同学们玩,他们用的都是Windows。
为了帮我测试这个7KB左右的游戏,却要安装一个70MB的虚拟机,对他们来说这又是何必呢~无奈,我只好把程序和jar一起打包,但要精简jar。
我只保留了下面列出的这些文件,程序就可以运行。但无奈rt.jar又40MB左右,还是太大。
我自己用winrar打开,在里面删除一些文件,但我对java还不是很熟悉,不晓得哪些不能删,所以能不删则尽量不删。
最后用写了批处理调用,用winrar打包生成自解压文件,设置成解压后自动运行这个批处理文件。
现在已经能双击直接运行了~和普通的exe文件一样。但文件个头却又10MB,而其实真正属于我自己的程序却只有7k不到。
有种本末倒置的感觉...这问题改如何处理呢?莫非、难道只能用JBuilder编译成exe?
请高手赐教!bin/
awt.dll
cmm.dll
fontmanager.dll
hpi.dll
java.dll
javaw.exe
jpeg.dll
net.dll
nio.dll
verify.dll
zip.dllbin/client
jvm.dlllib/
fontconfig.bfc
rt.jarlib/i386
jvm.cfglib/cmm
CIEXYZ.pf
GRAY.pf
LINEAR_RGB.pf
sRGB.pf
用那些编译器直接编译出exe,还算是java程序吗?
但Windows下又没有虚拟机,程序运行不了。无奈:
Java不在虚拟机下运行还能叫Java嘛~
程序不能运行还能叫程序嘛~
有没有不要求系统事先安装JVM,就能运行JAVA程序的方法?
看看jbuilder自己带的jre/jdk就知道了!记得jre没必要非得安装的哦!
还是谢谢了~