指定jar包Main入口的二种方式

有时候,我们打包好了一个jar包。但是当通过命令 java -jar xxxx.jar 运行时,我们应该如何指定要运行哪个main呢?
这里有两种方式。
一种是在打包为jar时指定main,一种是运行jar时直接指定要运行的方法。

方式一:打Jar包时指定

这是一个项目的结构,我们想指定jar的main为‘LoadPrice’类,因为该类已经有Main方法,所以不需要再指定LoadPrice类的具体方法。
在这里插入图片描述
在项目工程的pom文件中,通过packaging标签,指定其打包方式为jar.
在这里插入图片描述

点击File —> Project Structure
在这里插入图片描述
选择Artifacts —> +号 —> From modules with dependencies
在这里插入图片描述
在这里插入图片描述
选择’LoadPrice‘类为Jar包的Main入口。
在这里插入图片描述
选择完成后,IDEA会默认指定jar包的配置文件’MANIFEST.MF’在\src\main\java目录下创建。这是错误的,我们指定在\src\目录下,不然将会出现 xxx.jar包中没有主清单属性
在这里插入图片描述
在这里插入图片描述
点击OK,完成jar包配置文件的创建。
在这里插入图片描述
在这里插入图片描述
可以看到META-INF/MANIFEST.MF创建在了src/目录下
在这里插入图片描述
完成了Jar配置文件的创建后,我们现在就要编译jar包了。
点击Build —> Build Artifacts

在这里插入图片描述
再选择Build
在这里插入图片描述
这时候我们就能看到我们编译出来的jar包了
位置在 *项目目录\out\artifacts\模块名_jar* 下面
在这里插入图片描述
尝试运行看看。
java -jar huobi-client.jar
在这里插入图片描述

方式二:直接通过命令指定运行

运行指定的 main 方法:

java -cp huobi-client.jar com.huobi.start.LoadPrice main

在这里插入图片描述
实在不不行的话,参考这篇文章中提到的终极解决方案:https://blog.csdn.net/jiankang66/article/details/104587960


参考:https://blog.csdn.net/qq_39007083/article/details/107168551
https://www.freesion.com/article/2658886048/
https://blog.csdn.net/zxrdtc/article/details/79791734

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值