`
悠悠我心2010
  • 浏览: 17255 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

可执行jar包的MANIFEST.MF

阅读更多
打包可执行jar包时,MANIFEST.MF总是个让人头疼的东西,经常出现这种那种问题。
一个例子:
================================================================================
Manifest-Version: 1.0
Main-Class: test.Main
Class-Path: ./ ./lib/commons-collections-3.2.jar ./lib/commons-dbcp-1.2.2.jar
  ./lib/commons-lang-2.3.jar ./lib/commons-logging-1.1.jar

================================================================================
各部分解释:
Manifest-Version MF文件版本号
Main-Class 包含main方法的类
Class-Path 执行这个jar包时的ClassPath

以下是需要注意的各个要点:
1. Manifest-Version、Main-Class和Class-Path后面跟着一个英文的冒号,冒号后面必须跟着一个空格,然后才是版本号、类和ClassPath。
2. Class-Path中的各项应使用空格分隔,不是逗号或分号。
3. Class-Path中如果有很多项,写成一行打包的时候会报错line too long,这时需要把Class-Path分多行写。注意:从第二行开始,必须以两个空格开头,三个以上我没试过,不过不用空格开头和一个空格开头都是不行的,我已经试过了。
4. Class-Path写完之后最后一定要有一个空行。
5. jar包内有些配置文件想放在jar包外面,比如文件config.properties:如果这个文件是以路径方式载入的,比如new file("./config/config.properties"),那么将config.properties放在jar包相同目录下的config目录下即可,也就是说“./”路径等价于jar包所在目录;如果这个文件是以ClassPath下的文件这种方式载入的,比如在Spring中载入classpath:config.properties,则在MF文件的配置文件的ClassPath中添加“./”,然后将这个配置文件与jar包放在同一个目录即可,当然也可以在MF文件的配置文件的ClassPath中添加“./config/”,然后把配置文件都放在jar包相同目录下的config目录下。

我自己的一个
Manifest-Version: 1.0
Main-Class: view.MMIDesktop
SplashScreen-Image: EPM-300dpi_Large.jpg
Class-Path: .\lib\adfm.jar .\lib\adf-controller-security.jar
    .\lib\adf-share-base.jar .\lib\adf-share-ca.jar
  .\lib\adf-share-security.jar .\lib\adf-share-support.jar
   .\lib\adflogginghandler.jar .\lib\adfsharembean.jar
    .\lib\bc4jimdomains.jar .\lib\cache.jar
     .\lib\dvt-jclient.jar .\lib\dvt-utils.jar
      .\lib\forms-1.0.6.jar .\lib\identitystore.jar
       .\lib\javax.activation_1.1.0.0_1-1.jar
        .\lib\jmf.jar .\lib\ordhttp.jar
         .\lib\ordim.jar .\lib\xml.jar
          .\lib\xmlparserv2.jar .\lib\mdsrt.jar
           .\lib\javax.servlet_1.0.0.0_2-5.jar
            .\lib\javax.jsp_1.1.0.0_2-1.jar
             .\lib\dms.jar .\lib\ojdl-log4j.jar
              .\lib\ojdl2.jar .\lib\ojdl.jar
               .\lib\xmlef.jar .\lib\share.jar
                .\lib\jdev-rt.jar .\lib\dom4j-1.6.1.jar
                 .\lib\jxl-2.6.jar .\lib\jaxen-1.1-beta-6.jar
                  .\lib\ojdbc6.jar .\lib\groovy-all-1.6.3.jar
                   .\lib\gnujaxp.jar .\lib\jcommon-1.0.16.jar
                    .\lib\jfreechart-1.0.13.jar
                     .\lib\ws\axiom-api-1.2.8.jar
                      .\lib\ws\axiom-dom-1.2.8.jar
                       .\lib\ws\axiom-impl-1.2.8.jar
                        .\lib\ws\axis2-adb-1.5.1.jar
                         .\lib\ws\axis2-kernel-1.5.1.jar
                          .\lib\ws\axis2-transport-http-1.5.1.jar
                           .\lib\ws\axis2-transport-local-1.5.1.jar
                            .\lib\ws\commons-codec-1.3.jar
                             .\lib\ws\commons-httpclient-3.1.jar
                              .\lib\ws\commons-logging-1.1.1.jar
                               .\lib\ws\httpcore-4.0.jar
                                .\lib\ws\log4j-1.2.15.jar
                                 .\lib\ws\mail-1.4.jar
                                  .\lib\ws\neethi-2.0.4.jar
                                   .\lib\ws\wsdl4j-1.6.2.jar
                                    .\lib\ws\XmlSchema-1.4.3.jar
                                     .\lib\report\commons-beanutils-1.8.0.jar
                                      .\lib\report\commons-collections-2.1.1.jar
                                       .\lib\report\commons-digester-1.7.jar
                                        .\lib\report\iText-2.1.7.jar
                                         .\lib\report\jasperreports-Emerson.jar
                                          .\lib\report\poi-3.5-FINAL-20090928.jar                                

分享到:
评论

相关推荐

    详解MANIFEST.MF文件

    MANIFEST.MF文件是Java JAR包中不可或缺的一部分,它包含了有关JAR包的关键信息,如版本、依赖和其他配置细节。正确设置MANIFEST文件不仅可以提高程序的可维护性,还能增强其安全性和可靠性。通过本文的介绍,相信您...

    制作可执行的JAR文件包及jar命令详解.doc

    制作可执行的JAR文件包及jar命令详解 ...制作可执行的JAR文件包需要编辑MANIFEST文件,并使用jar命令将Java程序打包成JAR文件包。这样,用户就可以双击JAR文件来运行Java程序,而不需要在命令行中输入命令。

    JAR命令&JAR包详解.doc

    ### JAR命令与JAR包详解 #### 一、JAR包概述 JAR(Java ARchive)包是Java平台特有的一种压缩文件格式,主要...此外,通过使用MANIFEST.MF文件,可以方便地管理JAR文件的元数据,从而提高程序的可维护性和扩展性。

    可执行jar文件.以及执行命令

    1. **MANIFEST.MF文件**:在创建可执行JAR时,需要一个名为`MANIFEST.MF`的特殊文件,它包含主类信息。主类是程序启动时执行的第一个类。例如,`Main-Class: com.example.MyApp`告诉Java哪个类是程序的入口点。 2. ...

    jar的使用.doc

    Java Archive (JAR) 文件是Java平台特有的归档格式,用于集合多个类文件、资源文件以及其他...此外,通过MANIFEST.MF文件,开发者可以指定主类(使得JAR可直接执行)、指定版本信息等,增强JAR文件的功能性和可管理性。

    java制作可执行文件.doc

    要制作可执行文件,需要使用 JDK 的 jar 命令将 Java 类文件打包成 JAR 文件,并在 MANIFEST.MF 文件中指定 Main-Class 项,以便用户可以双击运行。 JAR 文件包是 Java Archive File 的缩写,它是一种文档格式,...

    Eclipse 打可执行JAR包

    一、创建可执行JAR包的背景与意义 在Java中,JAR(Java Archive)文件是一种归档格式,用于集合多个类文件、资源文件以及元数据。可执行JAR是其中一种特殊类型的JAR,包含了主类信息,可以直接通过`java -jar`命令...

    JAR文件包详解,创建可执行jar

    为了创建可执行JAR,我们需要指定一个`MANIFEST.MF`文件,其中包含`Main-Class`属性,它指明了程序的启动类。例如: ```text Main-Class: test.Test ``` 创建JAR文件的命令如下(以`test`目录为例): ```...

    生成JAR包及包的运行.doc

    - 对于Windows用户,双击JAR文件运行需确保系统正确配置了Java环境变量,且JAR包内部MANIFEST.MF指定了`Main-Class`。 通过了解这些知识点,开发者能够有效地管理和运行包含多个类和依赖的Java项目,提高工作效率...

    jar包查看.rar

    3. 显示元数据:展示MANIFEST.MF文件中的信息,如Main-Class属性,这对于运行可执行JAR尤为重要。 4. 类信息查看:解析类文件,显示类的结构,包括字段、方法、构造函数及其签名。 5. 反编译:部分工具还支持将字节...

    把.class用jar工具打包成可执行程序.doc

    Java 语言中,将多个 `.class` 文件打包成可执行的 JAR(Java ARchive)文件是一项常见的任务,这有助于简化程序的分发和执行。JAR 文件不仅能够将多个类文件组合在一起,还可以包含资源文件、元数据以及一个重要的...

    java项目导出可执行jar包_笔记

    在打包可执行JAR时,需要一个名为`MANIFEST.MF`的文件来指定主类,即程序启动时要执行的类。可以在项目根目录下创建一个名为`META-INF`的文件夹,然后在其中创建`MANIFEST.MF`文件。文件内容应包含如下格式: ``` ...

    编译运行java带jar包

    在Java编程环境中,有时我们需要将多个类打包成一个可执行的JAR(Java Archive)文件,以便于分发和执行。这个过程涉及到编译Java源代码、创建类路径(classpath)、构建MANIFEST.MF文件以及最终打包成JAR。下面我们...

    jar包配置

    没有这个属性的`JAR`通常被视为库而非可执行程序。 - `Created-By`: 记录创建`JAR`文件的工具或开发者信息。 - `Class-Path`: 定义运行时需要的外部库路径,使得`JAR`可以在运行时找到依赖的其他`JAR`文件或类路径。...

    如何将java类打成jar包运行.docx

    编辑完成后,将修改后的 `MANIFEST.MF` 替换 JAR 文件内的版本,并确保 JAR 包的根目录下也有一个相同的 `MANIFEST.MF` 文件(这个文件原本可能不存在,需要手动创建)。 现在,你需要将所有依赖的 JAR 文件与你的...

    JAR打包详解[文].pdf

    3. **添加清单文件**:清单文件(MANIFEST.MF)用于指定主类(Main-Class),用于执行JAR文件。可以使用`jar cmf manifest.mf jarfile.jar classfiles`来创建带有清单的JAR文件。 4. **更新JAR文件**:如果需要修改...

    制作可执行的JAR文件包及jar命令详解

    ### 制作可执行的JAR文件包及jar命令详解 在Java开发中,将多个类文件、资源文件以及依赖库打包成一个可执行的JAR(Java Archive)文件是常见的需求,尤其对于构建独立运行的应用程序尤为重要。本文将深入探讨如何...

    打JAR包 net.sf.fjep.fatjar

    在Java开发中,将多个类和资源文件合并到一个可执行的JAR(Java Archive)文件中是一项常见的任务。"net.sf.fjep.fatjar"是一个非常实用的开源工具,它专门用于创建"fat JARs",也就是包含所有依赖库的单一JAR文件,...

    制作可运行的JAR包.txt

    #### 二、可执行JAR文件的创建 为了让JAR文件能够被直接运行,我们需要确保MANIFEST文件中包含必要的信息。 **1. MANIFEST文件** MANIFEST文件必须包含`Main-Class`项,它指定了程序的入口类,即包含`public ...

    9JavaJAR打包技术[收集].pdf

    在实际应用中,开发者经常使用构建工具(如Ant、Maven或Gradle)自动化JAR的打包过程,这些工具提供了更高级的配置和控制,可以自动生成`MANIFEST.MF`,添加依赖库,甚至创建可执行的JAR(包含启动脚本)。...

Global site tag (gtag.js) - Google Analytics