将jar包打包成可执行bat文件教程

打包成可执行bat文件
1.
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打包成的jar里找到MANIFEST.MF文件,加入项目依赖的jar包路径,内容如下:
Manifest-Version: 1.0
Class-Path: lib/slf4j-api-1.7.22.jar lib/slf4j-simple-1.7.22.jar lib/c
ommons-configuration-1.5.jar lib/commons-collections-3.2.jar lib/comm
ons-lang-2.3.jar lib/commons-logging-1.1.jar lib/log4j-1.2.12.jar lib
/logkit-1.0.1.jar lib/avalon-framework-4.1.3.jar lib/servlet-api-2.3.
jar lib/commons-digester-1.8.jar lib/commons-beanutils-1.7.0.jar lib/
commons-beanutils-core-1.7.0.jar lib/commons-codec-1.10.jar
Main-Class: com.gh.CopyFile

2.新建一个文件夹,
放入jre
Jar包
新建一个bat文件

在这里插入图片描述

Bat文件内容如下,注意最后有回车键
start jre/bin/javaw -jar copyData.jar

如果MANIFEST.MF文件里没有配置依赖jar包,在bat里就需要配置

在这里插入图片描述

问题汇总:
1.执行java -jar project-0.0.1-SNAPSHOT.jar
错误: 找不到或无法加载主类
解决方案:clean --》build All 重新编译打包maven build

2.不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误。

java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”
格式:
java -cp .;myClass.jar packname.mainclassname
表达式支持通配符,例如:
java -cp .;c:\classes01\myClass.jar;c:\classes02*.jar packname.mainclassname

java -jar myClass.jar
执行该命令时,会用到目录META-INF\MANIFEST.MF文件,在该文件中,有一个叫Main-Class的参数,它说明了java -jar命令执行的类。

用maven导出的包中,如果没有在pom文件中将依赖包打进去,是没有依赖包。
1.打包时指定了主类,可以直接用java -jar xxx.jar。
2.打包是没有指定主类,可以用java -cp xxx.jar 主类名称(绝对路径)。
3.要引用其他的jar包,可以用java -classpath $CLASSPATH:xxxx.jar 主类名称(绝对路径)。其中 -classpath 指定需要引入的类。

1.pom中build指定mainClass 但是 META-INF\MANIFEST.MF文件中没有指定Main-Class: test.core.Core
java -jar test-jar-with-dependencies.jar //执行成功
java -cp test-jar-with-dependencies.jar test.core.Core //执行失败,提示jar中没有主清单属性

2.pom中build没有指定mainClass 但是 META-INF\MANIFEST.MF文件中指定了Main-Class: test.core.Core
java -jar test-jar-with-dependencies.jar //执行失败,提示jar中没有主清单属性
java -cp test-jar-with-dependencies.jar test.core.Core //执行成功

3.pom中build指定mainClass && META-INF\MANIFEST.MF文件中增加了Main-Class: test.core.Core
java -cp test-jar-with-dependencies.jar test.core.Core //执行成功
java -jar test-jar-with-dependencies.jar //执行成功
在这里插入图片描述
在这里插入图片描述

@echo on 打开回显
@echo off 关闭回显
Pause执行完cmd窗口是否直接关闭,不写运行完直接关闭窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值