怎样用jar将我的class文件打包成可以直接运行的.jar文件?(100分)

  • 主题发起人 主题发起人 caching
  • 开始时间 开始时间
C

caching

Unregistered / Unconfirmed
GUEST, unregistred user!
[red怎样用jar将我的class文件打包成可以直接运行的.jar文件?][/red]
 
请举例!
 
怎么每人回答呀!
 
回答一定给分,急需答案!
 
对不起,我以为别人会回答的呢...刚才没过来看。
这里:
http://java.sun.com/j2se/1.4/docs/guide/jar/jar.html#Main%20Attributes
解答了您的疑问。
特别是这一段:
attribute defined for stand-alone applications This attribute is used by
stand-alone applications that are bundled into executable jar files which
can be invoked by the java runtime directly by running "java -jar x.jar".
Main-Class :
The value of this attribute defines the relative path of the main application
class which the launcher will load at startup time. The value must not have
the .class extension appended to the class name.
清仔细阅读相关部分。
 
能不能举个例子!谢谢!
 
对不起,我没有太多的时间。
我觉得,授人以渔比授人以鱼更重要,您说呢?
 
还真难为她了,因为她急。
其实很简单:
创建一个清单文件,简单点就是一个文本文件(假如myinf.txt),
在文本文件中指明你要执行的那个有main方法的class文件名(假如为MyClass.class)
main-class:MyClass。
然后执行命令
jar cvfm MyExe.jar myinf.txt *.class
ok
luck!
ADD: 授渔者才是真正的急你所急之人 :)
 
把这种jar打开看一下就一目了然了。
如在jb中,可指定一个manifest。
 
2002-03-27 16:52 1,246 yqMainMenu$8.class
2002-03-27 16:52 655 yqMainMenu$9.class
2002-03-27 16:52 3,781 yqMainMenu.class
2002-03-27 18:00 38 myinfo.txt
23 个文件 47,306 字节
2 个目录 338,534,400 可用字节
F:/yqjava/Editor>jar cvfm MyEditor.jar myinfo.txt *.class
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:358)
at java.util.jar.Manifest.read(Manifest.java:161)
at java.util.jar.Manifest.<init>(Manifest.java:56)
at sun.tools.jar.Main.run(Main.java:125)
at sun.tools.jar.Main.main(Main.java:904)
我照着这样的方法作了,怎么不行呢?
 
To cadwolf
myinfo.txt写的不对
写上一行 main-class:yqMainMenu 就行

 
我这样写了一个文本文件
jar文件生成了。
双击就是不运行。 抱main class not found (?)
使用winzip 打开
里面包含了所有的class文件
还有一个目录meta-info(?) 进去是一个manifest文件,里面是我写的
....
main-class:SqlTool
....
一切都看起来正常啊
跟jdk的例子一模一样
可就是不能运行
 
后退
顶部