Netty与jarslink集成打包注意事项
1、如果使用Intellij IDEA打成jar一共有两种方式如下
如果单纯的netty服务端程序,使用java -jar core.jar来执行jar包的时候是没有问题的,但是如果netty+jarslink就会有问题了,使用该命令要么就说找不到主类,要么无法加载jarslink的jar包,为此我很郁闷,我也到网上找了很多的方案,说是用maven的shade插件或者assembly插件来打包,但是都不管用啊,但是我坚信,尽然在idea里面直接运行主类可以正常运行,肯定有一种方式可以解决这个问题。
2、先说明一下程序的结构
3、如何解决打包了之后jarslink就无法读取到META-INF/spring下面的插件jar包了呢,我在想,打成了将netty+jarslink打包成jar包之后,那么jarslink就无法读取jar包里面的jar包了,既然IDEA工具可以直接通过主类来运行,那么灵感来了,我们也通过主类来运行,操作步骤如下:
1)将idea编译的/target下的classes目录下的所有文件复制到F:/core(可以自定义)下
2)通过这种方式来打包
3)最终的文件目录结果如下
4)到了这一步已经差不多了,打开cmd输入如下命令直接运行
"C:\Program Files\Java\jdk1.8.0_60\jre\bin\java" -classpath "C:\Program Files\Java\jdk1.8.0_60\jre\lib;F:\core_jar\*;F:\core" com.hgsoft.gw.server.main.StartUp
5)如果在生产上的我们不可能就这样直接输入命令,我们可以将这个命令写成一个bat文件如下:
4、有更好的方式也可以留言讨论,写的不完美的地方也欢迎大家给我提意见
本文为作者原创,转载请注明出处:https://blog.****.net/huanongdetian/article/details/80176469
本文为作者原创,转载请注明出处:https://blog.****.net/huanongdetian/article/details/80176469