• 如何用jar命令对java工程进行打包


    转自:http://www.blogjava.net/gosyl/archive/2008/04/18/194107.html

    有时候为了更方便快捷的部署和执行Java程序,要把java应用程序打包成一个jar包。而这个基础的操作有时候也很麻烦,为了方便java程序员们能够方便的打包java应用程序,下面对jar命令进行介绍,并举出几个简单例子针对不同情况进行打包。
            一. jar命令用法:
             在cmd命令窗口下输入jar,回车,就会提示改命令的用法:
            

            二.例子(这里介绍的都是生成双击可执行的jar包):
            1.首先介绍如何在命令行下执行打包程序。
            1.1.没有包结构的最简单的工程。
                (1)在c:盘下新建文件“HelloWorld.java”:
            

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

                (2)在命令行下切换到c盘,再输入javac HelloWorld.java,在c:盘下编译生成“HelloWorld.class”。

                (3)在c:盘下新建文件“menefest”(没有后缀名):
               

    Main-Class: HelloWorld

                注意最后要有一个空行,否则会出现找不到类的错误,并且冒号后面有一个空格,不然会报错。

                 (4)打包:输入jar cvmf menefest HelloWorld.jar HelloWorld.class,在c:盘下生成“HelloWorld.jar”。

                 (5)执行:输入java -jar HelloWord.jar。屏幕回显“HelloWorld”。

            1.2.有包结构的java工程。
                (1)在c:comgosyldemo下新建文件“HelloWorld.java”:

    package com.gosyl.demo;
    
    public class HelloWorld{
        public static void main(String[] args){
            System.out.println("HelloWorld");
        }
    }

                (2)在命令行下输入javac com/gosyl/demo/HelloWorld.java,在c:comgosyldemo文件夹下编译生成“HelloWorld.class”。

                (3)在c:盘下新建文件“menefest2”(没有后缀名):
            

    Main-Class: com.gosyl.demo.HelloWorld

                注意最后要有一个空行冒号后面要一个空格。否则会出现找不到类的错误。

                (4)打包:输入jar cvmf menefest2 HelloWorld.jar com/,在c:盘下生成“HelloWorld.jar”。

                (5)执行:输入c:java -jar HelloWord.jar。屏幕回显“HelloWorld”。

            1.3.引用到外部jar包的java工程。
                (1)在c:comgosyldemo下新建文件“Car.java”:
                 

    package com.gosyl.demo;
    
    public class Car
    {
        public static void main(String[] args){
            Light.on();        
        }
    }


                (2)在c:comgosyldemo下新建文件“Light.java”:
            

    package com.gosyl.demo;
    
    class Light 
    {
        public static void on(){
            System.out.println("Light is on!");
        }
    }


                (3)打包1:输入c:jar cvf  Light.jar com/gosyl/demo/Light.class,在c:盘下生成“Light.jar”。
            
                (4)在c:盘下新建文件“menefest-car”(没有后缀名):
            

    Main-Class: com.gosyl.demo.Car
    Class
    -Path: Light.jar

                注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。

                (5)打包2:输入c:jar cvmf  menifest-car Car.jar com/gosyl/demo/Car.class,在c:盘下生成“Car.jar”。
            
                (6)执行:输入c:java -jar Car.jar。屏幕回显“Light is on”。

        三.总结
            1.清单文件menifest,对格式要求很高,注意每个冒号后面要有一个空格,文件最后要有一个空行。
            2.对于引用到外部jar包的工程,需要在manifest中定义好Class-Path属性。
            3.对于双击.bat文件出现刷屏现象的情况,请直接把.bat文件的内容键入命令行执行。
            4.对于重复签名的jar包,在META-INF里面会出现多个签名文件,删除掉多余的,保存其中一个才能保证jws正常启动。
            

  • 相关阅读:
    【BZOJ】2453: 维护队列【BZOJ】2120: 数颜色 二分+分块(暴力能A)
    【转】使用json-lib进行Java和JSON之间的转换
    【转】MySQL索引和查询优化
    【转】SQL常用的语句和函数
    【转】MySQL日期时间函数大全
    VMare中安装“功能增强工具”,实现CentOS5.5与win7host共享文件夹的创建
    MyEclipse中消除frame引起的“the file XXX can not be found.Please check the location and try again.”的错误
    由于SSH配置文件的不匹配,导致的Permission denied (publickey)及其解决方法。
    复选框的多选获取值
    echart环形图制作及出现的一些问题总结
  • 原文地址:https://www.cnblogs.com/gaojiang/p/3709574.html
Copyright © 2020-2023  润新知