如何在 IDE 中将程序打成 jar 包 & Library handing 三种方式讲解 & 如何编写 MANIFEST.MF

本文详细介绍了如何在Eclipse中将Java程序打包成Runnable JAR,包括无依赖和有依赖的场景。文章讨论了Library handling的三种方式:Extract, Package和Copy,并解释了MANIFEST.MF文件的编写,强调了Class-Path的重要性。此外,还提到了有conf配置文件时的正确打包方法。" 128684896,17116434,MySQL数据库提权技术详解,"['数据库', '安全', 'MySQL', 'web安全']
摘要由CSDN通过智能技术生成

Eclipse

无依赖的简单测试程序

工程搭建

1、新建工程

New -> Java Project -> 起一个工程名,其余全部默认,点击 Finish

在这里插入图片描述
新建一个 package 包,新建一个 Test 类,勾选上自动创建 main 方法。在 main 方法中输出 hello world
在这里插入图片描述

public class Test {
   
	public static void main(String[] args) {
   
		System.out.print("hello world");
	}
}

工程打包,导出成 Runnable JAR file

右键工程 Export -> Runnable JAR file -> 在 Launch configuration 中选择程序的入口,也就是 main 方法所在的类 -> 选择导出路径 -> 当前简单的 hello world 工程没有什么依赖,因此选 Library handing 中的哪种方式影响都不大,这里选择默认的第一种方式 -> 点击 Finish

在这里插入图片描述
在命令行执行

java -jar helloworld.jar

输出 hello world

工程打包,导出成 JAR file

通过 Runnable JAR file 方式导出的 jar 可以直接通过 java -jar 命令运行,通过 JAR file 导出的文件必须先配置 MANIFEST.MF 再导出才可以运行。一般还是推荐导出成 Runnable JAR file

编写 MANIFEST.MF,放在根目录下

Manifest-Version: 1.0
Main-Class: com.learn.helloword.Test
Class-Path: .


在这里插入图片描述
右键工程 Export -> JAR file

在这里插入图片描述
这里选择了第一种方式(默认),右侧的 classpath,project,MANIFEST.MF 都可以不勾选,这并不影响生成 jar 包的运行。如果勾选了,那么这部分资源文件就会出现在 jar 包的最外层目录,也即和 com,META-INF 目录平级

不勾选 classpath 等资源文件后导出 jar 的目录:

在这里插入图片描述

勾选 classpath 等资源文件后导出 jar 的目录:

在这里插入图片描述

注:这里有四种方式

1、Export generated class files and resources 表示只导出生成的 .class 文件和资源文件
2、Export all output folders for checked projects 表示导出选中项目的所有文件夹
3、Export java source file and resouces 表示导出的 jar 包中包含 .java 源代码
4、Export refactorings for checked projects 表示导出的 jar 包中包含重构信息

1、2 只能二选一,并且必须勾选一项。3,4 可以全部勾选也可以全不勾选
在这里插入图片描述

打包完成后,直接通过 java -jar 执行 jar 包报错:

D:\logs>java -jar helloworld.jar
Error: Unable to access jarfile helloworld.jar

在 java -jar 中加上了 jar 包的绝对路径后,可以正确执行:

D:\logs>java -jar D:\logs\helloword.jar
hello world

有依赖的简单测试程序

导入 jar 包

在 src 目录下新建一个 lib 文件夹,将 fastjson-1.2.70.jar 拷贝进去

右键工程 -> Build Path -> Configure Build Path -> 配置完成后点击 Apply and Close

在这里插入图片描述

工程搭建

public static void main(String[] args) {
   
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值