1.我的当前目录是d:\a;其中d:\a\b\App.class;怎么我用
jar cf App.jar b
后将其放在classpath后用不了(需要指定如何使用吗?),而当用
jar cf App.jar App.class就可用,就是说包含了目录就不行了.
请教了!!   2.使用jar cmf myManifestFile.mf App.jar *.class时总是提示找不到myManifestFile.mf?而当我手动建立myManifestFile.mf时,就可以运行,不过此时的myManifestFile.mf什么都没有,不知如何?

解决方案 »

  1.   

    1.你的App肯定没有package,所以不能随便包含目录,没有package就放在包的根目录下,文件夹直接根package联系在一起,不能乱加,也不能少2.清单文件找不到,你在当前目录下有myManifestFile.mf这个文件吗?
    清单是需要自己写的,然后被写入jar中,并被重新命名
    你说你手动建立这个清单怎么可能有东西
    http://www.matrix.org.cn/resource/article/0/253.html
      

  2.   

    第一个问题解决了.不过第二个不行吧,自己所建立的清单文件不论有无内容,jar文件中的内容(META-INF\MANIFEST.MF,class文件)没变.现在我想问下:比如import java.io.FileInputStream;这个类究竟放在哪?(我说的不是JDK API所说的位置),是在jre中吗?还是其它地方?先谢了.
      

  3.   

    你给说一个打包的简便方法,不用使用jar命令
    1、首先确保你的机器安装了winrar。
    2、编译你的class文件,确保class文件package与class所在路径一样
    例如:
    package test.oo
    那么文件存放的路径应该是.....\test\oo\yourFile.class(如:c:\test\oo\yourFile.class)
    3、以上面的路径为例:首先到c盘根目录,树标右键选定test目录,选择:“添加到压缩文件”一项
    4、压缩成*.zip文件,注意一定要是zip文件。最后将该zip文件更名*.jar。这种压缩方式绝不会出现你说的那种错误。
      

  4.   

    谢谢了,原来用jar命令可以生成zip/rar/jar三种文件的哦.并且前两者可以与jar转换呢