jar打包命令

本文介绍如何使用jar命令创建包含清单文件的可执行JAR包,并解决执行过程中出现的NoClassDefFoundError错误。文章还提供了手动配置MANIFEST.MF文件的方法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jar cvf filename.jar a.class b.class

打包带package 的文件: jar cvf filename.jar foldername || jar cvf filename.jar foldername\*
打包可以执行的jar 包: 
手动配置一个manifest.mf 文件
Main-Class: com.qingyuan.httpclient.RunnableJar [主程序]
Class-Path: lib\classes12.jar [配置依赖的jar包]

jar cvfm filename.jar manifest.mf *.class lib\classes12.jar

执行jar 包: java -jar filename.jar
MANIFEST.MF文件可以把jar包里的main函数所在的类列出来.如果执行该JAR包,会首先去找那个main(),
如果没有就不能执行只当把JAR包当成如RAR,ZIP一样的压缩文件.

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

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

package com.qingyuan.httpclient;
public class RunnableJar 
{
	public static void main(String[] args)
	{
		System.out.println("打一个可执行的jar包");
	}
}

1)C:\>javac httpclient\RunnableJar.java

2)C:\>cd httpclient
C:\httpclient>jar cvf runnable.jar RunnableJar.class
标明清单(manifest)
增加:RunnableJar.class(读入= 442) (写出= 334)(压缩了 24%)

-- 手动加上Main-Class配置
Manifest-Version: 1.0
Created-By: 1.6.0-beta2 (Sun Microsystems Inc.)
Main-Class: com/qingyuan/httpclient/RunnableJar

C:\httpclient>java -jar runnable.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/qingyuan/httpclient/RunnableJar
-- 按照包名建好目录: com/qingyuan/httpclient/RunnableJar.class

C:\httpclient>java -jar runnable.jar
打一个可执行的jar包

C:\httpclient>
其实这样打包也没多大意义, 用IDE工具就可以了, 打war包,jar包就很方便,war包在webapp目录下是自动解压的;

war封装好的web工程,放到tomcat下的webapp时。当tomcat启动时会自动解压war文件,生成和war文件名的目录。
访问时只访问目录,war文件只在Tomcat启动时读取,相当于web项目的安装包。部署完成后可以删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值