当前位置:网站首页>教你本地编译运行一个IDEA插件,在IDEA里聊天、下棋、斗地主!
教你本地编译运行一个IDEA插件,在IDEA里聊天、下棋、斗地主!
2022-08-05 10:06:00 【程序猿DD_】
来源:网络
XEChat-Idea
* 基于Netty的IDEA即时聊天插件 *
项目介绍
主要功能:
即时聊天
游戏对战



项目结构
.
├── LICENSE
├── README.md
├── xechat-commons //公共模块
│ ├── pom.xml
│ └── src
├── xechat-plugin //IDEA插件端
│ ├── build.gradle
│ ├── gradle
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── settings.gradle
│ └── src
└── xechat-server //服务端
├── pom.xml
└── src复制
项目环境
「服务端 & 公共模块」
JDK8
Maven 3.6.x
「IDEA 插件端」
JDK11
Gradle 6.x
IDEA 2021.2.x
运行 & 部署
*提醒:公共模块需优先打包 *
# 进入公共模块根目录
cd xechat-commons
# 打包到本地仓库
mvn install服务端
创建或调整日志目录 src/main/resources/logback.xml
<property name="ROOT_LOG_PATH" value="/var/log/xechat-server"/>运行
直接运行主方法 XEChatServer.java
部署
# 进入服务端根目录
cd xechat-server
# 打包
mvn package
# 启动服务端
java -jar target/xechat-server-xxx.jarIDEA插件端
修改IDEA版本
修改 build.gradle 配置文件,将 IDEA 版本号改为你本地正在使用的版本
intellij {
version '2021.2'
}本地运行
* Tasks > intellij > runIde *

插件部署
* 提醒:修改服务端地址 *
进入到 cn.xeblog.plugin.client.XEChatClient ,修改以下变量值
private static final String HOST = "localhost"; // 服务端IP
private static final int PORT = 1024; // 服务端端口「打包」
* Tasks > build > assemble *

打包完成后的文件
build/distributions/xechat-plugin-xxx.zip「安装」
* IDEA > Preferences > Plugins *

选择打包后的文件安装 build/distributions/xechat-plugin-xxx.zip
安装体验
添加插件库 Plugins > 设置按钮 > Manage Plugin Repositories...
http://plugins.xttblog.cn
搜索 “xechat” 安装

如有条件,还请自行部署服务端。
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!
推荐阅读
··································
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。
边栏推荐
- Our Web3 Entrepreneurship Project, Yellow
- 【Office】Microsoft Office下载地址合集(微软官方原版离线安装下载)
- 语音社交软件开发——充分发挥其价值
- 19.服务器端会话技术Session
- 正则表达式replaceAll()方法具有什么功能呢?
- How can project cost control help project success?
- 手写柯里化 - toString 理解
- [Unity] [UGUI] [Display text on the screen]
- 第五章:redis持久化,包括rdb和aof两种方式[通俗易懂]
- Why are RELTABLESPACE values 0 for many tables displayed in sys_class?
猜你喜欢

dotnet OpenXML parsing PPT charts Getting started with area charts

皕杰报表的下拉框联动

three objects are arranged in a spherical shape around the circumference

hcip BGP 增强实验

leetcode: 529. 扫雷游戏

【MindSpore Easy-Diantong Robot-01】You may have seen many knowledge quiz robots, but this one is a bit different

Seata source code analysis: initialization process of TM RM client

Still looking for a network backup resources?Hurry up to collect the following network backup resource search artifact it is worth collecting!

Advanced usage of C language

Microservice Technology Stack
随机推荐
无题十一
mysql进阶(二十七)数据库索引原理
Voice-based social software development - making the most of its value
JS逆向入门学习之回收商网,手机号码简易加密解析
机器学习-基础知识 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR, TNR, F1 Score, Bal
matcher中find,matches,lookingAt匹配字符串的不同之处说明
2022华数杯数学建模A题环形振荡器的优化设计思路思路代码分享
What is SPL?
PHP operation mangoDb
高质量 DeFi 应用构建指南,助力开发者玩转 DeFi Summer
Wei Dongshan Digital Photo Frame Project Learning (6) Transplantation of tslib
你最隐秘的性格在哪?
Egg framework usage (1)
IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)满满的干货
【 temperature warning program DE development 】 event driven model instance
项目成本控制如何帮助项目成功?
阿里顶级架构师多年总结的JVM宝典,哪里不会查哪里!
three.js debugging tool dat.gui use
【温度预警程序de开发】事件驱动模型实例运用
语音社交软件开发——充分发挥其价值