论坛首页 Java版 企业应用

问个初级问题,关于打包

浏览 6977 次
精华帖 (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
怎么弄?找个半天没搞定,也是别人问我的,很丢人

谢谢
------------
如果认为太初级,就删掉吧!
   
最后更新时间:2004-03-12
靠...你还真有兴趣~

这么变态的hello world ,我自然是没有做过。

没有搞定,也有个提示信息把~。
   
0 请登录后投票
最后更新时间: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?????
也不行
   
0 请登录后投票
最后更新时间:2004-03-12
在jar包的manifest文件里面指定Main-Class
   
0 请登录后投票
最后更新时间:2004-03-12
不是手工加,是先写好manifest,然后用jar打包的时候加如进去:

例如:

[code:1] jar cvfm classes.jar mymanifest -C foo/ .[/code:1]

然后你甚至可以通过鼠标双击来运行该jar。不信你去双击JDK带的那些Demo里面的jar就知道了。
   
0 请登录后投票
最后更新时间: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

真是不知道怎么好了
   
0 请登录后投票
最后更新时间:2004-03-12
奇怪,解压缩a.jar

里面的MANIFEST.MF

Manifest-Version: 1.0
Created-By: 1.4.1_03 (Sun Microsystems Inc.)

只有这个,没有Main-Class: b.a

为啥?
   
0 请登录后投票
最后更新时间:2004-03-12
后来我又该了名字,把MANIFEST.MF

该为mymanifest.mf 也改为了mymanifest,没有后缀
还是一样,解压之后......如上帖子!
   
0 请登录后投票
最后更新时间:2004-03-12
manifest的文件你写完每行之后要回车才行:

Main-Class: .... (回车)

manifest文件中每行要以回车结束,否则生成的MANIFEST.MF就不会加入Main-Class这一行。
   
0 请登录后投票
最后更新时间:2004-03-13
robbin 写道
manifest的文件你写完每行之后要回车才行:

Main-Class: .... (回车)

manifest文件中每行要以回车结束,否则生成的MANIFEST.MF就不会加入Main-Class这一行。


对,上次这个问题把我搞死了
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐