|
锁定老贴子 主题:问个初级问题,关于打包
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2004-03-12
一个java类a.java
public class a { public static void main(String[] args) { System.out.println("Hello World!"); } } ///////////// 把他打成b.jar 然后运行java -jar b.jar 能答应出"hello world" 就ok 怎么弄?找个半天没搞定,也是别人问我的,很丢人 谢谢 ------------ 如果认为太初级,就删掉吧! 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
靠...你还真有兴趣~
这么变态的hello world ,我自然是没有做过。 没有搞定,也有个提示信息把~。 |
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
你试一把不就知道什么提示信息了?
还问我??:) E:\Temp>java -jar b.jar Failed to load Main-Class manifest attribute from b.jar 就这个提示信息! 在manifest.mf文件里手工家 main-class:a.class????? 也不行 |
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
在jar包的manifest文件里面指定Main-Class
|
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
不是手工加,是先写好manifest,然后用jar打包的时候加如进去:
例如: [code:1] jar cvfm classes.jar mymanifest -C foo/ .[/code:1] 然后你甚至可以通过鼠标双击来运行该jar。不信你去双击JDK带的那些Demo里面的jar就知道了。 |
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
我的e:/temp
有a.java package b; public class a { public static void main(String[] args) { System.out.println("Hello World!"); } } ----------------- temp目录下还有个MANIFEST.MF file 内容如下 Manifest-Version: 1.0 Created-By: 1.4.1_03 (Sun Microsystems Inc.) Main-Class: b.a 然后开个dos 窗口,进入e:/temp 执行 javac -d . a.java 然后执行 jar -cvfm a.jar MANIFEST.MF -C b/ . 然后执行 java -jar a.jar 报错如下: E:\Temp>java -jar a.jar Failed to load Main-Class manifest attribute from a.jar 真是不知道怎么好了 |
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
奇怪,解压缩a.jar
里面的MANIFEST.MF Manifest-Version: 1.0 Created-By: 1.4.1_03 (Sun Microsystems Inc.) 只有这个,没有Main-Class: b.a 为啥? |
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
后来我又该了名字,把MANIFEST.MF
该为mymanifest.mf 也改为了mymanifest,没有后缀 还是一样,解压之后......如上帖子! |
|
| 返回顶楼 | |
|
最后更新时间:2004-03-12
manifest的文件你写完每行之后要回车才行:
Main-Class: .... (回车) manifest文件中每行要以回车结束,否则生成的MANIFEST.MF就不会加入Main-Class这一行。 |
|
| 返回顶楼 | |
|
最后更新时间:2004-03-13
robbin 写道 manifest的文件你写完每行之后要回车才行:
Main-Class: .... (回车) manifest文件中每行要以回车结束,否则生成的MANIFEST.MF就不会加入Main-Class这一行。 对,上次这个问题把我搞死了 |
|
| 返回顶楼 | |










