开源社区:Gitee
下载J-IM源码,目前(2019.8.1)最新版本(v2.6.0)的J-IM没有上传到Maven仓库中,需要自己打包。作为一个Java开发人员,我相信你本地安装了Maven而且配置了环境变量。下载源码后进入jim-parent文件夹执行如下命令:
1 | mvn clean package -U -Dmaven.test.skip=true |
或者直接双击jim-parent/install.bat,该脚本实际执行如下命令:
1 | call mvn clean install |
J-IM提供了简单的client/server端演示Demo,当然本文主要关心的是服务端如何启动。该Demo项目名为jim-server-demo,进入该项目的target目录找到刚刚打好的jar包,如:jim-server-demo-2.6.0v20190114-RELEASE.jar。
启动
jar包启动的通常做法是执行如下命令:
1 | java -jar jim-server-demo-2.6.0v20190114-RELEASE.jar |
但是执行后会报如下异常:
1 | jim-server-demo-2.6.0.v20190114-RELEASE.jar中没有主清单属性 |
打开jar包里的META-INF/MANIFEST.MF文件会发现缺失启动类。解决办法是在pom里添加插件:
jar/dependency插件
配置如下:
1 | <plugin> |
再次启动就可以啦:
1 | java -jar jim-server-demo-2.6.0.v20190114-RELEASE.jar |
这样使用有个限制,拷贝jar包时需要带lib文件夹。
assembly插件
配置如下:
1 | <plugin> |
mvn打包后生成jim-server-demo-2.6.0.v20190114-RELEASE.jar和jim-server-demo-2.6.0.v20190114-RELEASE-jar-with-dependencies.jar两个jar包,后面那个包将依赖的jar一起打包,任何位置直接使用java -jar即可。
IDE启动
直接启动main方法。
SpringBoot集成
J-IM启动类继承org.springframework.boot.CommandLineRunner接口,实现run()方法:
1 | public class JimStarter implements CommandLineRunner { |