可执行的jar包

一个可直接运行的jar包,命令格式为

                                                java -jar xxx.jar

要想直接运行一个jar包

需要在jar包中的META-INF/MANIFEST.MF中满足:

1、指定Main-Class项,这样才能确定程序的入口(启动引导

类)在哪里;

2、要能加载到依赖包,即指定Class-Path项。

一般,一个可执行的jar文件unzip后,可以看到由3部分组成

1、META-INF/MANIFEST.MF

2、应用程序编译后的类文件

3、所有依赖的jar包

如一个可执行的简单的spring boot web项目,它的主清单文件内容为

[root@localhost jar]# cat META-INF/MANIFEST.MF

Manifest-Version: 1.0

Class-Path: jul-to-slf4j-1.7.30.jarjakarta.validation-api-2.0.2.jar spr

 ing-jcl-5.2.6.RELEASE.jarjakarta.annotation-api-1.3.5.jar spring-boot-

 autoconfigure-2.2.7.RELEASE.jartomcat-embed-el-9.0.34.jar spring-boot-

 starter-web-2.2.7.RELEASE.jarjackson-core-2.10.4.jar spring-beans-5.2.

 6.RELEASE.jarspring-boot-starter-validation-2.2.7.RELEASE.jar spring-e

 xpression-5.2.6.RELEASE.jarspring-boot-starter-logging-2.2.7.RELEASE.j

 artomcat-embed-core-9.0.34.jar logback-core-1.2.3.jar spring-context-5

 .2.6.RELEASE.jarjackson-datatype-jsr310-2.10.4.jar log4j-api-2.12.1.ja

 rspring-webmvc-5.2.6.RELEASE.jar jboss-logging-3.4.1.Final.jar classma

 te-1.5.1.jarsnakeyaml-1.25.jar jackson-annotations-2.10.4.jar spring-b

 oot-starter-json-2.2.7.RELEASE.jarhibernate-validator-6.0.19.Final.jar

 jackson-module-parameter-names-2.10.4.jar spring-boot-starter-2.2.7.RE

 LEASE.jarjackson-datatype-jdk8-2.10.4.jar spring-aop-5.2.6.RELEASE.jar

 spring-web-5.2.6.RELEASE.jar jackson-databind-2.10.4.jar spring-boot-2

 .2.7.RELEASE.jar log4j-to-slf4j-2.12.1.jarslf4j-api-1.7.30.jar spring-

 core-5.2.6.RELEASE.jartomcat-embed-websocket-9.0.34.jar spring-boot-st

 arter-tomcat-2.2.7.RELEASE.jarlogback-classic-1.2.3.jar

Main-Class:com.dangdang.springboot.springbootdemo.SpringbootdemoApplica

 tion

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容