admin管理员组

文章数量:1530518

有时候,我们打包好了一个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/jiankang66/article/details/104587960


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

本文标签: 二种入口方式jarMain