`

如何把Java程序打成JAR包并能自动运行

 
阅读更多

下面就来看看什么是 JAR 文件包吧:

1. JAR 文件包

JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:

  ==

  `-- test

    `-- Test.class

把它压缩成 ZIP 文件 test.zip,则这个 ZIP 文件的内部目录结构为:

  test.zip

  `-- test

    `-- Test.class

如果我们使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,则这个 JAR 文件的内部目录结构为:

  test.jar

  |-- META-INF

  |  `-- MANIFEST.MF

  `-- test

    `--Test.class

2. 创建可执行的 JAR 文件包

制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。

Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。

其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。

因为要创建可执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:

Main-Class: 可执行主类全名(包含包名)

例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类 (定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:

Main-Class: test.Test <回车>

最后以我的程序为例:

1、打包:    jar cvfm MySMSLib.jar manifest.mf -C classes/ .

把classes目录下的所有class文件打包。

2、执行:   java -jar MySMSLib.jar

3、制作一个bat可执行文件即可,具体略了。

 

 

转自:http://www.linuxidc.com/Linux/2011-02/31912.htm

分享到:
评论

相关推荐

    Java程序打成Jar包做成EXE安装程序

    Java程序打成Jar包做成EXE安装程序是将Java程序打包成可执行的EXE文件,以便在Windows操作系统中可以直接双击运行程序。下面将一步一步地实现该过程。 首先,需要完成Java GUI程序。在Eclipse下,程序能够正常运行...

    用ANT将java程序打成jar包

    本篇文章将详细解释如何使用ANT将Java程序打成JAR包。 首先,理解ANT的基本概念是必要的。Apache ANT是一个由Apache软件基金会开发的Java库和命令行工具,其主要任务是驱动构建过程。它的核心概念是构建文件(build...

    JAVA打成jar包

    以下是对“JAVA打成jar包”这一主题的详细解析。 1. **JAR文件结构**: - **MANIFEST.MF**:每个JAR文件都包含一个清单文件,它定义了入口点(启动应用的主类)和其他重要属性。 - **Class Files**:Java源代码...

    java程序打jar包

    在Java开发过程中,将程序打包成JAR(Java Archive...了解以上步骤和注意事项,你就能熟练地使用MyEclipse将Java程序打成jar包了。在实际工作中,这是一项基础但至关重要的技能,有助于提升代码的可移植性和部署效率。

    把jsp编译打包成jar

    然而,在某些场景下,我们可能需要将JSP页面转换为Servlet并打包成jar文件,以便于部署或运行。这通常在不支持JSP直接执行的环境下进行,例如在简单的Java应用服务器或者微服务架构中。 标题“把jsp编译打包成jar”...

    将springboot打包成的jar文件做成windows服务,解决java程序自启动问题

    将springboot打包成的jar文件做成windows服务,解决java程序自启动问题,适合现场部署后无人看管情况,断电后服务器启动后不用管理springboot服务,不用打开cmd,也不担心现场人员误操作关闭cmd窗口。

    生成JAR包的方法(打包后运行好像不快)

    - **标题**:“生成JAR包的方法(打包后运行好像不快)”:该标题指出文章将介绍如何生成Java应用程序的JAR包,并提到打包后的程序运行速度较慢的问题。 #### 描述解读: - **描述**:“在练习做orcl数据库比对工具时...

    fatjar工具 将java工程打成可执行jar包

    Java开发过程中,将一个工程打包成可执行的JAR(Java Archive)文件是常见的需求,尤其是对于命令行应用或者小型程序。"Fatjar"工具就是这样一个解决方案,它可以帮助开发者将所有的依赖库、类文件和资源文件整合到...

    【绝对可行,解决404】jfinal项目打包成jar在控制台运行方法

    本文将详细介绍一个非Maven项目的JFinal应用如何打包成JAR,并在控制台上运行。 首先,JFinal项目打包的关键在于确保所有依赖的库和配置文件都被包含在内。由于本项目不是通过Maven构建的,我们需要手动处理这些...

    如何轻松打java-jar包

    `.jar`文件是Java的可执行归档文件,它包含了类文件、资源文件以及元数据,使得用户可以方便地运行Java程序或者库。下面将详细讲解如何轻松地创建一个Java的`.jar`包。 **1. 准备工作** **1.1 环境变量** 在进行`....

    matlab 打包成jar 后端代码代用

    然而,MATLAB程序通常不能直接在Java平台上运行,为了解决这个问题,MATLAB提供了将MATLAB代码打包成Java可调用的JAR文件的功能。这个过程叫做MATLAB编译器(MATLAB Compiler)的使用,它允许我们将MATLAB代码转换为...

    java打成jar的过程

    Java打成JAR(Java Archive)文件是将多个Java类文件、资源文件和相关的元数据打包成一个可执行的库或应用程序的过程。JAR文件在Java开发中扮演着重要角色,便于代码的分发、存储和执行。下面将详细介绍这个过程。 ...

    java工程打JAR包工具(挺好用的)

    Java工程打JAR包工具是Java开发者常用的工具之一,它能将Java源代码编译、打包成可执行的JAR(Java Archive)文件。JAR文件是Java平台特有的归档格式,它允许将多个类文件和其他资源组合到一个单一的文件中,便于...

    Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中

    ### Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 #### 背景介绍 随着微服务架构的流行,Spring Boot 成为了开发微服务应用时首选的技术栈之一。它简化了传统的Java Web应用程序的开发...

    springboot工程jar包加密

    当一个项目被打包成jar文件后,这通常意味着它可以作为一个独立的应用程序运行。然而,随着项目的部署和分发,保护源代码和敏感信息的安全变得至关重要。"springboot工程jar包加密"这个话题就是关于如何确保Spring ...

    springmvc独立运行所需jar包

    要使 Spring MVC 能够独立运行,你需要一组特定的 JAR 包来提供核心功能、依赖管理和其他支持。以下是这些关键 JAR 包的作用和相关知识点: 1. **Spring Framework**: 这是 Spring MVC 的基础,包括 spring-context...

    如何生成jar包

    生成JAR包是Java项目打包的一种常见方式,它用于将多个.class文件及相关资源文件打包成一个文件,便于程序的分发和部署。JAR文件的全称是Java Archive,本质上是一个ZIP格式的压缩文件,包含了一个清单文件...

    SSM使用jar包

    1. **引入依赖**:在项目的`pom.xml`文件中添加Struts2、Spring、MyBatis以及它们各自依赖的jar包。 2. **配置Struts2**:编写`struts.xml`文件,定义Action及其对应的处理方法。 3. **配置Spring**:创建`...

    用Eclipse将编译后的java字节码打包成JAR文件

    在Java开发过程中,将编译后的Java字节码打包成JAR(Java Archive)文件是一项常见的任务。JAR文件不仅方便了代码的分发和存储,还可以帮助优化资源的加载和执行效率。Eclipse作为一款广泛使用的Java集成开发环境,...

    java打jar包批处理文件

    Java打jar包批处理文件是Java开发者常用的工具,主要用于自动化构建和打包Java应用程序。这个过程涉及到Java的编译、资源整理以及最终的JAR(Java Archive)文件生成。批处理文件通常包含了一系列命令,可以一次性...

Global site tag (gtag.js) - Google Analytics