当前位置:网站首页>教你本地编译运行一个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年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。
边栏推荐
- 19. Server-side session technology Session
- Voice conversion相关语音数据集综合汇总
- 无题十二
- Oracle temporary table space role
- 高质量 DeFi 应用构建指南,助力开发者玩转 DeFi Summer
- 数据中台建设(十):数据安全管理
- [Unity] [UGUI] [Display text on the screen]
- 韦东山 数码相框 项目学习(六)tslib的移植
- High-quality DeFi application building guide to help developers enjoy DeFi Summer
- [Office] Collection of Microsoft Office download addresses (offline installation and download of Microsoft's official original version)
猜你喜欢

IDEA performs the Test operation, resulting in duplicate data when data is inserted

egg框架使用(一)

Meteorological data processing example - matlab string cutting matching and R language date matching (data splicing)

华为轻量级神经网络架构GhostNet再升级,GPU上大显身手的G-GhostNet(IJCV22)

蚁剑webshell动态加密连接分析与实践

七夕浪漫约会不加班,RPA机器人帮你搞定工作

Pycharm 常用外部工具

Keil升级到AC6后,到底有哪些变化?

语音社交软件开发——充分发挥其价值

Qiu Jun, CEO of Eggplant Technology: Focus on users and make products that users really need
随机推荐
Seata source code analysis: initialization process of TM RM client
首次去中心化抢劫?近2亿美元损失:跨链桥Nomad 被攻击事件分析
The technological achievements of Shanghai Konan were selected into the "2021 Shanghai Network Security Industry Innovation Research Achievement Catalog" by the Municipal Commission of Economy and Inf
Confessing in the era of digital transformation: Mai Cong Software allows enterprises to use data in the easiest way
What is the function of the regular expression replaceAll() method?
NowCoderTOP35-40——持续更新ing
告白数字化转型时代:麦聪软件以最简单的方式让企业把数据用起来
STM32+ULN2003 drives 28BYJ4 stepper motor (forward and reverse according to the number of turns)
DFINITY 基金会创始人谈熊市沉浮,DeFi 项目该何去何从
Meteorological data processing example - matlab string cutting matching and R language date matching (data splicing)
公众号如何运维?公众号运维专业团队
Complete image segmentation efficiently based on MindSpore and realize Dice!
【Unity】【UGUI】【在屏幕上显示文本】
Egg framework usage (1)
After Keil upgrades to AC6, what changes?
企业的数字化转型到底是否可以买来?
hcip BGP enhancement experiment
Introduction to SD NAND Flash!
js劫持数组push方法
无题十一