Java程序打包jar文件(jar命令形式)

先打开命令提示符,输入jar,然后回车(如果你已经配置好了java环境),可以看到:

用法:jar{ctxu}[vfm0Mi] [jar-文件] [manifest-文件][-C 目录] 文件名...

选项:

-c创建新的存档

-t列出存档内容的列表

-x展开存档中的命名的(或所有的)文件

-u更新已存在的存档

-v生成详细输出到标准输出上

-f指定存档文件名

-m包含来自标明文件的标明信息

-0只存储方式;未用zip压缩格式

-M不产生所有项的清单(manifest)文件

-i为指定的jar文件产生索引信息

-C改变到指定的目录,并且包含下列文件:如果一个文件名是一个目录,它将被递归处理。清单(manifest)文件名和存档文件名都需要被指定,按'm'和 'f'标志指定的相同顺序。

示例1:将两个class文件存档到一个名为'classes.jar' 的存档文件中:

jarcvf classes.jar Foo.class Bar.class

示例2:用一个存在的清单(manifest)文件'mymanifest' 将 foo/ 目录下的所有文件存档到一个名为'classes.jar' 的存档文件中:

jarcvfm classes.jar mymanifest -C foo/.

来个小例子试试看:我们只有一个HelloWorld,如下:

publicclass HelloWorld {

public static void main(String[ ] args) {

System.out.println(“Hi, Hello World!”);

}

}

将这个java文件存到C盘根目录下,ok,接下来,在先前打开的命令提示符下(跳转到C盘提示符下),我们输入javacHelloWorld.java,然后继续输入:jar cvf  hello.jar HelloWorld.class,回车后去你的C盘看看,多了什么,没错hello.jar。

紧接着我们看看如何运行我们的jar包。

在进入正题之前,你要先打开我们刚刚做好的jar包看看,多了什么呢,META-INF目录?再看看里面是什么,还有一个MANIFEST.MF文件是不是?用文本编辑器(我这里是UltraEdit)打开它看看:

Manifest-Version:1.0

Created-By:1.4.2 (Sun Microsystems Inc.)

就是这样。这里我们对它进行修改,加一句:Main-Class:HelloWorld (在第三行)。这个就是我们之前写的那个类,也就是我们的入口类。也即:

Manifest-Version:1.0

Created-By:1.4.2 (Sun Microsystems Inc.)

Main-Class:HelloWorld

   接下来,我们在命令提示符里执行:

   jar    umf   MANIFEST.MF   hello.jar

这样我们使用了我们自己的MANIFEST.MF文件对原来默认的进行了更新。你不妨可以再进去看看是不是添上了Main-Class:HelloWorld这一句。

Ok,这个最后的一步了,来验证我们做的一切,在命令提示符中输入:

java-jar hello.jar(执行)

出现了什么,Hi, Hello World!

我们再来看看jar文件在tomcat中发布,注意:在tomcat中我们就不能再用jar这种格式,而改war格式,它是专门用于web应用的,其实整个过程下来基本上和jar是类似的:

先准备我们要打包的资源。

找到存放tomcat的webapps目录,进到其中,新建一个文件夹,这里命名为hello,再进去新建WEB-INF文件夹,再进去新建classes文件夹,此时我们也将我们唯一的servlet,HelloWorld.java放到这里,在与classes目录同级下建立一文件web.xml。Ok,目前我们初步建立了一个简单的web应用。

   这是HelloWorld.java:

   importjava.io.*;

   importjavax.servlet.*;

   importjavax.servlet.http.*;

   publicclass HelloWorld extends HttpServlet {

public void doGet(HttpServletRequest req,HttpServletResponse res)

throws ServletException, IOException {

res.setContentType("text/html");

                   PrintWriter out = res.getWriter();

out.println("");

out.println("");

out.println("");

out.println("Hello, World!");

out.println("");

}

}//end here!

   对它编译。下面是web.xml:

   <?xmlversion="1.0" encoding="UTF-8"?>

   <!DOCTYPEweb-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

   <web-app>

       <servlet>

          <servlet-name>hello</servlet-name>

          <servlet-class>HelloWorld</servlet-class>

      </servlet>

      <servlet-mapping>

          <servlet-name>hello</servlet-name>

          <url-pattern>/HelloWorld</url-pattern>

      </servlet-mapping>

   </web-app>

在命令提示符下进到先前创制的hello目录下,执行jar cvf hello.war * ,我们便得到hello.war。将它拷贝至webapps目录下,ok,来看最后一步,打开tomcat的目录conf中的server.xml,加入:

<Contextpath="/hello" docBase="hello.war" debug="0"reloadable="true"/>

大功告成!运行它,启动tomcat,后在浏览器中输入http://localhost:8080/hello/HelloWorld。

Java程序打包jar文件(Eclipse自带Export)

使用eclipse开发工具,可以将java程序直接导出成jar程序文件,eclipse的export功能。

1、选中需要打包的程序,鼠标右键:

2、选择导出类型为jar文件:

3、选择需要打包的文件,并不需要将所有的文件都打包,这样可以减小jar文件的大小。并且可以选择导出jar包的一些信息,其解释如下:

*Export generated class files and resources 表示只导出生成的.class文件和其他资源文件;

*Export all output folders for checked projects 表示导出选中项目的所有文件夹;

*Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了;

*Export refactorings for checked projects 把一些重构的信息文件也包含进去。

这里需要对MANIFEST.MF进行说明,这是打包的主清单文件,每个项目打包之后都会生成一个META-INF目录,里面还有一个MANIFEST.MF文件。在eclipse中如果打包的程序没有引用第三方jar文件,则可以使用默认配置生成(当然你还是可以自己写,并说明程序执行的入口文件,若有的话)若项目使用了第三方jar包,则需要自己编写MANIFEST.MF文件:

Manifest-Version: 1.0

Class-Path: lib/mysql-connector-java-5.1.6-bin.jar

Main-Class: com.zxt.sqlhelper.SqlHelperTest

第一行是MAINIFEST的版本,第二行Class-Path就指定了外来jar包的位置,第三行指定我们要执行的MAINjava文件。

还需注意一下一些问题:

(1)、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;

(2)、假设我们的项目打包后为Hello.jar,那么按照上面的定义,应该在 Hello.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exceptionin thread "main" java.lang.NoClassDefFoundError”的错误;

3、Main-Class后面是类的全地址,比如你的主文件是Hello.java,文件里打包为packagecom.main; 那么这里就写com.main.Hello,不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;

4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误。

4、选择配置文件:

这里解释一下配置项:

*Generate the manifest file:是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。

*Use existing mainfest from workspace:这是可以选择我们自定义的.MF文件,格式如上所写,引用了第三方包时选用。

*Seal content:要封装整个jar或者指定的包packet。

*Main class:这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。

5、最后Finish,即生成了我们要的jar文件。

Java程序打包jar文件(Eclipse安装插件FatJar)

Eclipse自带export对于含有较多第三方jar文件或含有第三方图片资源等就显得不合适,太繁琐。这时可以使用一个打包的插件—FatJar。

FatJar Eclipse Plug-In是一个可以将Eclipse Java Project的所有资源打包进一个可执行jar文件的小工具,可以方便的完成各种打包任务,我们经常会来打jar包,但是eclipse自带的打包jar似乎不太够用,FatJar是eclipse的一个插件,特别是Fat Jar可以打成可执行Jar包,并且在图片等其他资源、引用外包方面使用起来更方便。

安装方法:

1、Eclipse在线更新方法:Help> Install New Software > Add,

name:FatJar

location:http://kurucz-grafika.de/fatjar

2、Eclipse插件手动安装方法:首先先下载fatjar的安装包,将解压出的plugins中的文件复制到eclipse安装目录中的plugins目录下,然后重启eclipse即可。

使用方法:

步骤一:右击工程项目选择BuileFat Jar

步骤二:配置jar文件存放目录,主Main文件等,如下图:

步骤三:选择所要用到的第三方jar包。

Java程序打包成jar文件相关推荐

  1. 把Java程序打包成jar文件包并执行

    把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...

  2. java 程序包jar_把Java程序打包成jar文件包并执行

    把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...

  3. java打包成jar_把Java程序打包成jar文件包并执行的方法

    本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...

  4. java 程序打包成jar_把Java程序打包成jar文件包并执行的方法

    本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...

  5. java代码执行 打包jar_Java程序打包成jar文件包并执行的方法

    这篇文章主要介绍了把Java程序打包成jar文件包并执行的方法,非常具有实用价值,需要的朋友可以参考下 本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自 ...

  6. 如何把一个java程序打包成exe文件,运行在没有java虚

    如何把一个java程序打包成exe文件,运行在没有java虚 核心提示:首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了:但是exe文件在没有安装jre的电脑上不能运行,如果要 ...

  7. linux java jar打包_【Java】Java程序打包成jar包在Linux上运行

    当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行. 1.Java程序用MyEclipse打包成可运行的jar包 (1)在 ...

  8. MyEclipse将Java项目打包成jar文件的三种方法

    2019独角兽企业重金招聘Python工程师标准>>> 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 "MANIFEST.MF", 由于 ...

  9. myeclipse打包java文件_MyEclipse将Java项目打包成jar文件的三种方法

    方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 "MANIFEST.MF", 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFE ...

  10. 如何将java程序打包成exe文件?

    本文主要介绍如何使用exe4j对java程序进行exe打包. exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面 ...

最新文章

  1. 字体大小的设置_老年人用智能手机,怎样更改字体大小?3种方法,手把手教您学会...
  2. LLVM3.8停止了旧Windows版本,取消Autoconf,改进Clang
  3. MySql 统计最近 6 个月内的数据,没有数据默认为显示为 0
  4. 主键与聚集索引的区别
  5. websocket html5 api,HTML5 新特性之 Websocket
  6. Ghost Blog
  7. 把复杂变简单,能产生颠覆的力量
  8. 【VC++类型转换】CString和System::String类型的转换
  9. 提示编码有问题时,VS保存选项
  10. Java仓储物流项目_基于jsp的物流仓库管理系统-JavaEE实现物流仓库管理系统 - java项目源码...
  11. Jackme空气净化器 去除雾霾呵护家人健康神器
  12. 目录-OpenGL编程指南
  13. Oracle卸载方法
  14. ovm安装过程及中断处理
  15. HTML5期末大作业:动物主题网站设计——酷酷动物主题响应式网页(5页) 大学生动物主题网页作品 动物网页设计作业模板 学生网页制作源代码下载
  16. 巧用二重积分的积分中值定理
  17. IDEA做数据库操作时的一个莫名其妙的错误
  18. 苏如是:香港中鼎资本与您分享“数实共生世界”和“后人类社会”
  19. Matlab中矩阵的右上角有一撇表示什么意思
  20. 江苏大学计算机学院复试题,本部基础A定稿-含答案(江苏大学计算机).doc

热门文章

  1. python 实现 Cmn 的排序 阶乘
  2. 【学习笔记】英文科技论文常见英语句式积累
  3. java 8中Comparator.comparing和reversed
  4. 查询给定区域内曲面平均高程
  5. 【JVM】Java IDEA 配置项目的JVM运行内存大小
  6. 如果你对未来还有点迷茫不妨来看一下,必看的软件测试指引!!!
  7. matplotlib之pyplot模块——向子图添加箭头(arrow())
  8. 一个基于igv.js实现的python脚本,实现简单的网页版IGV
  9. QT<八> 绘图事件、绘图设备
  10. 计算机文件一点右键就内存突增,电脑内存占用忽然升高怎么解决