jar命令在JDK与Eclipse的使用

来源:互联网 发布:需要淘宝店铺代运营的 编辑:程序博客网 时间:2024/06/05 18:24

        说实话,我是一个Java初学者。下面是我最近研究jar命令时的一些小小的发现,希望能对大家有点作用。

 

       我写java程序一直以来是以Eclipse为编辑器的,很少用记事本编辑,在省事的同时也忽略了对java命令集的学习,也就造成了我直到现在才了解了一点cmd命令行格式下运行java程序的方法。

 

    我先介绍一下我的软件环境:

    JDKjdk-6u3-windows-i586-p.exe(最新)

    EclipseEclipse 3.2.1

    WindowsWindows 2003 Server

    JDKG:/Java/JDK6.3

    Eclipse中编辑的Java程序:G:/Java/Eclipse/workspace/Book/doItMyself

 

()cmd命令行格式下生成和运行jar文件

    下面我在G:/Java目录下建立一个HelloWorld.java文件,如下:

 

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

}

   

     这是一个最简单的java程序了,每一个java程序员几乎都是从这个程序开始认识java的。
 
     这时,我们在cmd命令行下面运行HelloWorld.java,没有任何问题,能够正常输出“Hello World.”
 
     现在我们开始研究jar命令。jar文件格式大家应该清楚,它下面一定有一个META-INF文件夹,这个文件夹中又包含了一个文件:MANIFEST.MF(清单文件)。这里就有两种制作jar文件的方法。如下:

G:Java>jar cvf HelloWorld.jar HelloWorld.class
标明清单
<manifest>
增加:HelloWorld.
class<读入= 426><写入= 288><压缩了 32%>
 
         这时,你打开jar文件中的MANIFEST.MF文件,可以看到以下的内容:

Manifest-Version: 1.0
Created
-By: 1.6.0_03 (Sun Microsystems Inc.)
<回车>


    为了确保jar文件能运行,这时应该在MANIFEST.MF文件中加上一行:

Main-Class: HelloWorld    //  冒号后面一定要有空格

 

    上面是不加入MANIFEST.MF的写法,事实上我们总是喜欢事先编辑好MANIFEST.MF文件:

 

Manifest-Version: 1.0
Main
-Class: HelloWorld
<回车>

 

    再在cmd命令行格式下:

  

G:Java>jar cvfm HelloWorld.jar MANIFEST.MF HelloWorld.class
标明清单
<manifest>
增加:HelloWorld.
class<读入= 426><写入= 288><压缩了 32%>

 

 

    上面两种方法效果是一样的,都生成了HelloWorld.jar文件,关键看你喜欢哪一种了。

 

    现在就可以运行HelloWorld.jar文件了:

  

G:Java>java -jar HelloWorld.jar
Hello world.

 

    输出正常,没有任何问题。

 

()Eclipse中生成和运行jar文件

  首先在Eclipse中编写HelloWorld.java,如下:

package doItMyself;
public class HelloWorld 
{
    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {
        
// TODO 自动生成方法存根

        System.out.println("Hello world.");
    }

}
 

    我们发现Eclipse为我们自动生成了一些注释代码,你还别小瞧了它们,在第三点中我会再次提到。

 

    运行HelloWorld,一切正常。

 

    现在我们开始生成HelloWorld.jar文件:

(1)      在“包资源管理器”视图中找到HelloWorld,点击右键弹出快捷菜单,选择“导出...”;

(2)      在弹出的“导出”对话框中选择“JAR文件”,单击“下一步”;

(3)      在弹出的“JAR导出”对话框中的“JAR文件:”文本框中填入jar文件的存放路径,我这里是:G:/Java/Eclipse/workspace/Book/doItMyself/HelloWorld.jar


 
(4)      连续单击两次“下一步”,在下图中填入“Main-Class”值:doItMyself.HelloWorld(一定要加上包名),或者用“浏览”功能,这个更易用;

 
   (5)      单击“完成”,即制作成功了一个jar文件。这时我们在“包资源管理器”中就能看到HelloWorld.jar文件了。
  
   这时我们不妨再看看Eclipse生成的这个jar文件和在cmd格式下生成的有什么不同。我们很快就会发现,存在着两种不同: 

       (1)      jar文件内部的结构发生了变化:

             cmd格式下的结构是:

         META-INF/

         META-INF/MANIFEST.MF

         HelloWorld.class

         

         Eclipse格式下的结构是:

         META-INF/

         META-INF/MANIFEST.MF

         doItMyself/

         doItMyself/HelloWorld.class

 

   (2)      META-INF文件夹下的MANIFEST.MF文件的内容,两者是不同的:

          Eclipse下的内容是:

          Manifest-Version: 1.0

          Sealed: true

          Main-Class: doItMyself.HelloWorld

          <回车> 

 

      现在我们来运行这个生成的jar文件:
  (1)      在Eclipse主菜单中选择“运行/外部工具/外部工具”,弹出“外部工具”对话框;
  (2)      在“名称”文本框中填入要运行的jar文件——HelloWorld.jar,在“位置”中用浏览找到java.exe文件,如图:

 

  (3)      在“自变量”文本框中填入“-jar ”(jar后面一定要加空格),在单击“变量”按钮,在其中选择“resource_loc”,回到“外部工具”界面,如图:

 

  

(4)      单击“应用”,然后单击“运行”,在“控制台”视图中就能输出正确的结果了。
 

以上便是在Eclipse中生成并运行jar文件了。

 

原创粉丝点击