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