打包可执行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目录下。
- 浏览: 289235 次
- 性别:
- 来自: 上海
最新评论
-
markss:
您好,请问kettle循环处理的内存泄漏问题是否已经解决了?毕 ...
Kettle -
1qqqqqq:
图呢 ???
Myeclipse 9.0集成FLASH BUILDER 4.5 -
hanyi366:
现在MyEclipse 都2014版了,好像MyEclipse ...
Visual Editor 插件 安装 -
cnjmwr:
MyEclipse8.6的Eclipse版本是3.5的 ve1 ...
Visual Editor 插件 安装 -
cloudphoenix:
大神 我特地登陆来回帖,真是帮了我的大忙了。看了一个多月的AS ...
FlexGlobals.topLevelApplication
相关推荐
MANIFEST.MF文件是Java JAR包中不可或缺的一部分,它包含了有关JAR包的关键信息,如版本、依赖和其他配置细节。正确设置MANIFEST文件不仅可以提高程序的可维护性,还能增强其安全性和可靠性。通过本文的介绍,相信您...
制作可执行的JAR文件包及jar命令详解 ...制作可执行的JAR文件包需要编辑MANIFEST文件,并使用jar命令将Java程序打包成JAR文件包。这样,用户就可以双击JAR文件来运行Java程序,而不需要在命令行中输入命令。
### JAR命令与JAR包详解 #### 一、JAR包概述 JAR(Java ARchive)包是Java平台特有的一种压缩文件格式,主要...此外,通过使用MANIFEST.MF文件,可以方便地管理JAR文件的元数据,从而提高程序的可维护性和扩展性。
1. **MANIFEST.MF文件**:在创建可执行JAR时,需要一个名为`MANIFEST.MF`的特殊文件,它包含主类信息。主类是程序启动时执行的第一个类。例如,`Main-Class: com.example.MyApp`告诉Java哪个类是程序的入口点。 2. ...
Java Archive (JAR) 文件是Java平台特有的归档格式,用于集合多个类文件、资源文件以及其他...此外,通过MANIFEST.MF文件,开发者可以指定主类(使得JAR可直接执行)、指定版本信息等,增强JAR文件的功能性和可管理性。
要制作可执行文件,需要使用 JDK 的 jar 命令将 Java 类文件打包成 JAR 文件,并在 MANIFEST.MF 文件中指定 Main-Class 项,以便用户可以双击运行。 JAR 文件包是 Java Archive File 的缩写,它是一种文档格式,...
一、创建可执行JAR包的背景与意义 在Java中,JAR(Java Archive)文件是一种归档格式,用于集合多个类文件、资源文件以及元数据。可执行JAR是其中一种特殊类型的JAR,包含了主类信息,可以直接通过`java -jar`命令...
为了创建可执行JAR,我们需要指定一个`MANIFEST.MF`文件,其中包含`Main-Class`属性,它指明了程序的启动类。例如: ```text Main-Class: test.Test ``` 创建JAR文件的命令如下(以`test`目录为例): ```...
- 对于Windows用户,双击JAR文件运行需确保系统正确配置了Java环境变量,且JAR包内部MANIFEST.MF指定了`Main-Class`。 通过了解这些知识点,开发者能够有效地管理和运行包含多个类和依赖的Java项目,提高工作效率...
3. 显示元数据:展示MANIFEST.MF文件中的信息,如Main-Class属性,这对于运行可执行JAR尤为重要。 4. 类信息查看:解析类文件,显示类的结构,包括字段、方法、构造函数及其签名。 5. 反编译:部分工具还支持将字节...
Java 语言中,将多个 `.class` 文件打包成可执行的 JAR(Java ARchive)文件是一项常见的任务,这有助于简化程序的分发和执行。JAR 文件不仅能够将多个类文件组合在一起,还可以包含资源文件、元数据以及一个重要的...
在打包可执行JAR时,需要一个名为`MANIFEST.MF`的文件来指定主类,即程序启动时要执行的类。可以在项目根目录下创建一个名为`META-INF`的文件夹,然后在其中创建`MANIFEST.MF`文件。文件内容应包含如下格式: ``` ...
在Java编程环境中,有时我们需要将多个类打包成一个可执行的JAR(Java Archive)文件,以便于分发和执行。这个过程涉及到编译Java源代码、创建类路径(classpath)、构建MANIFEST.MF文件以及最终打包成JAR。下面我们...
没有这个属性的`JAR`通常被视为库而非可执行程序。 - `Created-By`: 记录创建`JAR`文件的工具或开发者信息。 - `Class-Path`: 定义运行时需要的外部库路径,使得`JAR`可以在运行时找到依赖的其他`JAR`文件或类路径。...
编辑完成后,将修改后的 `MANIFEST.MF` 替换 JAR 文件内的版本,并确保 JAR 包的根目录下也有一个相同的 `MANIFEST.MF` 文件(这个文件原本可能不存在,需要手动创建)。 现在,你需要将所有依赖的 JAR 文件与你的...
3. **添加清单文件**:清单文件(MANIFEST.MF)用于指定主类(Main-Class),用于执行JAR文件。可以使用`jar cmf manifest.mf jarfile.jar classfiles`来创建带有清单的JAR文件。 4. **更新JAR文件**:如果需要修改...
### 制作可执行的JAR文件包及jar命令详解 在Java开发中,将多个类文件、资源文件以及依赖库打包成一个可执行的JAR(Java Archive)文件是常见的需求,尤其对于构建独立运行的应用程序尤为重要。本文将深入探讨如何...
在Java开发中,将多个类和资源文件合并到一个可执行的JAR(Java Archive)文件中是一项常见的任务。"net.sf.fjep.fatjar"是一个非常实用的开源工具,它专门用于创建"fat JARs",也就是包含所有依赖库的单一JAR文件,...
#### 二、可执行JAR文件的创建 为了让JAR文件能够被直接运行,我们需要确保MANIFEST文件中包含必要的信息。 **1. MANIFEST文件** MANIFEST文件必须包含`Main-Class`项,它指定了程序的入口类,即包含`public ...
在实际应用中,开发者经常使用构建工具(如Ant、Maven或Gradle)自动化JAR的打包过程,这些工具提供了更高级的配置和控制,可以自动生成`MANIFEST.MF`,添加依赖库,甚至创建可执行的JAR(包含启动脚本)。...