转换成.exe可执行文件,但死活找不到main class!不惜血本,力求搞懂(先放100,解决后再给100)

liangfengxx 2005-01-28 02:03:16
一个令我头疼的问题:
我用jar命令把包打好了,可是执行的时候总是提示:
Could not find the main class. Program will exit
郁闷!
我估计是manifest文件的错误,可是我检查了N遍,完全是按照网上说的方法做的,以及manifest文件的格式问题,我都仔细地检查了,但就是要提示Could not find the main class.

我的问题是,Main-Class: <我的主类><回车>的路径问题。也就是<我的主类>的路径问题,肯定是这里的问题,要不然怎么回提示找不到主类呢?可是我不明白这个路径是怎样算的?从盘符(比如C盘)开始算还是从bin目录开始算?而且我把打好包后的jar文件解压,发现和我原来的文件夹下面的文件不一样了,多了个META-INF文件夹,是系统自动生成的吗?
还有个不明白的地方就是jar命令的那个-C参数,解释为“改变到指定的目录”,各位大虾能不能帮我举个例子呢?比如我的主类的存放是路径是:F:/books/allClass文件夹下面,怎么切换路径呢?
小弟实在是被这个Could not find the main class搞得头疼,在此发帖,力求搞懂,先放100分,哪为兄弟能帮我解决的话另送100,绝对说话算话!
(最好是以自己做过的经验来讲解,csdn上的关于jar打包成.exe的帖我几乎都翻遍了,可是还是很迷惑,基本上都是重复的东西,所以,希望各位能讲到点子上,我绝不会失言)
谢谢!!!
...全文
277 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonegump 2005-01-30
  • 打赏
  • 举报
回复
Main-Class:后面需要有个空格
liangfengxx 2005-01-30
  • 打赏
  • 举报
回复
经高人指点,现在行了,同时也谢谢上面各位热心人士
GJA106 2005-01-30
  • 打赏
  • 举报
回复
楼主实在不行,可以考虑把一个可以运行的jdk demo(双击jar运行)解开,把楼主的类放入相应目录,小心的修改manifest.mf文件。
watermelon01 2005-01-29
  • 打赏
  • 举报
回复
mark
御南 2005-01-29
  • 打赏
  • 举报
回复
如果类过多,你可以先试一下只有一个类的情况
既然是Could not find the main class,那么就应该从你的主类的位置出发,试更改你的manifest文件,把它改成:Manifest-Version: 1.0
Main-Class: books.allClass.MainWindow<此处还有一回车>
试一下!

liangfengxx 2005-01-29
  • 打赏
  • 举报
回复
up
zyg158 2005-01-28
  • 打赏
  • 举报
回复
到C:\java2\bin\books下运行
jar cvfm myBooks.jar META-INF/manifest.mf .

或者打完包后用WinRAR打开jar文件,将里面的manifest.mf文件用你写好的替换掉
huang_yb 2005-01-28
  • 打赏
  • 举报
回复
用ide打包后,再比较两个文件。
ashes 2005-01-28
  • 打赏
  • 举报
回复
到C:\java2\bin\books下运行
jar cvfm myBooks.jar META-INF/manifest.mf .
liangfengxx 2005-01-28
  • 打赏
  • 举报
回复
我参考过jdk中自带的demo了,我的和它自带的manifest写法都差不多,可能还是路径的问题!

我把我的帖出来:
1.欲打包的类所在的路径:C:\java2\bin\books\allClass\...
(上面的文件夹不止一个类,主类MainWindow.class和助手类都在allClass文件夹下)
2.manifest.mf文件所在的路径:C:\java2\bin\books\META-INF\manifest.mf
3.manifest.mf的内容:Manifest-Version: 1.0
Main-Class: allClass.MainWindow<此处还有一回车>
4.在DOS下的jar命令:jar cvfm myBooks.jar books/META-INF/manifest.mf -C books/ .
(这里的-C books/ .是我按照jar参数的解释把books文件夹下所有的文件进行存档)

按上述的步骤能够正确进行打包,可是就是不能双击运行,大家看看我的manifest.mf文件有不有什么错?帮帮我啊!
GJA106 2005-01-28
  • 打赏
  • 举报
回复
jdk自带的demo中都提供有可双击运行的jar文件,楼主可以参考。(D:\j2sdk141\demo\jfc\SwingSet2)
如,SwingSet2.jar例子

MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.4.1_01 (Sun Microsystems Inc.)
Main-Class: SwingSet2
zyg158 2005-01-28
  • 打赏
  • 举报
回复
你先要保证打包成jar可以执行,能够找到main class吧?
然后才可以制作.exe文件
tom2005 2005-01-28
  • 打赏
  • 举报
回复
你是怎么打包
manifest 怎么写

简单说一下,这样谁知道你错在哪

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧