现在基于java程序的工具是漫天飞,以至于我们都忘记了该怎样在dos下用java和jar的命令
  如果不是工具出了点问题,我想我还会错过纯 dos下的命令

java命令:java,javac,javaw没什么好说的

关键是jar命令,也就是关于.class文件的命令,进入dos 输入jar会出现相应的 jar参数,用的最多的应该是
-c 建立心的归档
-m包含manifest.mf文件的详细信息
-f指定心得归档名称

举个简单的例子,HelloWorld
1

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hi, Hello World!");
    }
}


这是一个HelloWorld.class 文件
2
javac HelloWorld.java
生成Helloworld.class文件,这才是我们要用的文件
3
打包成jar文件,用于执行的文件,当然是在当前的目录下,命令格式为 jar cvf HelloWorld.jar HelloWorld.class
执行成功以后发现在当前的文件下多了个Helloworld.jar 文件,我们可以用压缩包工具解压一下 发现里面有两个文件,一个是HelloWorld.class文件,另一个是meta-inf文件,打开meta-inf,其下有一个manifest,mf 文件,这个就是我们需要建成可执行jar文件所必须的信息,用ue打开后有如下代码:
  Manifest-Version:   1.0  
  Created-By:   1.3.1_02   (Sun   Microsystems   Inc.) 
 这不是我们要的最终文件,用ue修改成
  Manifest-Version:   1.0  
  Created-By:   1.3.1_02   (Sun   Microsystems   Inc.) 
  Main-Class:  HelloWorld
注意: 冒号后面都有一个空格
保存后我们把它剪切拷贝到HelloWorld.jar的目录下,这是后有两种方法生成可执行jar
一 删除 HelloWorld .jar  在dos下命令 jar   cmf  HelloWorld.jar  manifest.mf  HelloWorld .class

 注意: dos下虽然不分大小写,但是这个class文件一定要区分大小写,因为.mf文件里面的声明是区分的,不然会显示 类错误的信息(我曾经上了一次当)

方法二:jar umf MANIFEST.MF HelloWorld.jar                    u的意思是更新


说的这里一个完整的可执行jar文件算是完成了,怎么执行呢?看下面命令
java -jar  HelloWorld.jar    

haha 是否输出了“helloworld”呢

为了方便用户使用我们最好做一个批处理文件,如下:

  @echo  
  cls  
  set   classpath=./mainApp.jar;//换成你的JAR包名  
   
  java   com.jufeng.test.FrameApp         //换成你的main方法类  
  pause


其实过程不是很复杂,关键就是细心,还有就是大小写的地方还是和文件名相对应最好,省的麻烦,再一个就是路径问题一定要分清
附:
1.将应用程序压缩为jar文件  
   
  可以使用jar.exe把一些文件压缩成一个JAR文件,来发布我们的应用程序。我们可以把java应用程序中涉及到的类压缩成一个JAR文件,比如Tom.jar,然后使用java解释器(使用参数-jar)执行这个压缩文件,或用鼠标双击该文件,执行这个压缩文件。  
  java   -jar   Tom.jar  
  假设应用程序中有两个类A、B,其中A是主类,生成一个JAR文件的步骤如下:  
  (1)首先,用文本编辑器(比如Windows下的记事本)编写一个清单文件Mymoon.mf:  
  Manifest-version:   10  
  Main-Class:   A  
  Created-By:   1.2.2(sun   Microsystems   Inc.):  
  比如,保存Mymoon.mf到D:/test。需要注意的是在编写清单文件时,在“Manifest-version:”和“1.0”之间、“Main-Class:”和主类“A”之间,以及“Created-By:”和“1.2.2”之间必须有且只有一个空格。  
  (2)生成JAR文件  
  D:/test/jar   cfm   Tom.jar   Mymoon.mf   A.class   B.class  
  其中参数c边式要生成一个新的JAR文件;f表示要生成的JAR文件的名字;m表示文件清单文件的名字  
  注:如果机器安装过WinRAR解压软件,并将.jar文件与该解压缩软件做了关联,那么Tom.jar文件的类型是WinRAR,使得Java程序无法运行。因此,我们在发布软件时,还应该再写一个有如下内容的bat文件Tom.bat:  
  javaw   -jar   Tom.jar  


补充:
############

jar基本操作:

############

1. 创建jar文件
jar cf jar-file input-file(s)
c---want to Create a JAR file.
f---want the output to go to a file rather than to stdout.
eg: 1)jar cf myjar.jar query_maintain_insert.htm
2)jar cvf myjar.jar query_maintain_insert.htm
v---Produces verbose(详细的) output.
3)jar cvf myjar.jar query_maintain_insert.htm mydirectory
4)jar cv0f myjar.jar query_maintain_insert.htm mydirectory
0---don't want the JAR file to be compressed.
5)jar cmf MANIFEST.MF myjar.jar yahh.txt
m---Used to include manifest information from an existing manifest file.
6)jar cMf MANIFEST.MF myjar.jar yahh.txt
M---the default manifest file should not be produced.
7)jar cvf myjar.jar *
*---create all contents in current directory.
2. 察看jar文件
jar tf jar-file
t---want to view the Table of contents of the JAR file.
eg: 1)jar vft yahh.jar
v---Produces verbose(详细的) output.
3. 提取jar文件
jar xf jar-file [archived-file(s)]
x---want to extract files from the JAR archive.
eg: 1)jar xf yahh.jar yahh.txt(仅提取文件yahh.txt)
2)jar xf yahh.jar alex/yahhalex.txt(仅提取目录alex下的文件yahhalex.txt)
3)jar xf yahh.jar(提取该jar包中的所有文件或目录)
4. 修改Manifest文件
jar cmf manifest-addition jar-file input-file(s)
m---Used to include manifest information from an existing manifest file.
5. 更新jar文件
jar uf jar-file input-file(s)
u---want to update an existing JAR file.