跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

IntelliJ IDEA 插件开发:搭建自建插件仓库

IntelliJ IDEA 插件自建仓库搭建指南。通过提供特定格式的 XML 文件定义插件元数据,结合 Gradle 构建工具配置 org.jetbrains.intellij 插件,可完成本地或私有仓库的插件发布流程。配置 build.gradle 设置 IDE 版本、沙箱目录及依赖,并通过 publishPlugin 任务指定自定义 host 实现私有化部署,满足非公开插件的分发需求。

二进制发布于 2025/2/3更新于 2026/7/2344 浏览
IntelliJ IDEA 插件开发:搭建自建插件仓库

IntelliJ IDEA 插件自建仓库

IntelliJ IDEA 拥有官方插件仓库,当开发的插件无法对外公开时,需搭建私有仓库。

搭建 IntelliJ IDEA 插件仓库

IntelliJ IDEA 官方文档提及了新建插件仓库的方法,该部分位于插件功能使用文档中。简要说明如下:如果需要新建一个插件仓库,非常简单,只需要提供一个 URL,当访问这个 URL 的时候,返回如下的一个 XML 即可:

<plugins>
    <plugin id="com.taobao.middleware.HotCode2Plugin" url="http://localhost/downloads/hotcode2-idea-plugin.jar" version="0.1"/>
    <plugin id="com.alipay.sofa.andromeda" url="http://localhost/idea/download/com.alipay.sofa.andromeda-1.1.34.zip" version="1.1.34"/>
</plugins>

注意:

  • id 为插件的 ID,需要与插件的 plugin.xml 里面设定的 ID 一致。
  • url 为插件的 ZIP 包下载的地址。
  • version 是插件的版本号。

使用 Gradle 构建 IntelliJ IDEA 插件

Gradle 支持 IntelliJ 插件的方式与 Android 类似,需添加官方插件支持。

  1. 在 IntelliJ 插件项目根目录执行 gradle init 初始化工程。
  2. 修改 build.gradle 文件以支持构建 IntelliJ 插件。
  3. 添加 IntelliJ Build Plugins 仓库地址(采用第二种方式):
plugins {
    id "org.jetbrains.intellij" version "0.1.10"
}
  1. 应用 IntelliJ 插件(与 Android 类似):
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'
  1. 设置运行插件的 IntelliJ 版本及沙箱地址:
intellij {
    version = 'IU-163.7342.3' // 调试我们插件的版本
    sandboxDirectory = project.rootDir.canonicalPath + "/.sandbox" // 插件生成的临时文件的地址
}

完成后,使用 IntelliJ 以 Gradle 工程形式重新导入项目即可。

完整的 build.gradle 配置如下:

plugins {
    id 'org.jetbrains.intellij' version "0.1.10"
}

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'

// In this section you declare where to find the dependencies of your project repositories {
    // Use 'jcenter' for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
    mavenCentral()
    maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" }
}

intellij {
    version = 'IU-163.7342.3'
    plugins = ['JavaScriptLanguage', 'CSS']
    sandboxDirectory = project.rootDir.canonicalPath + "/.sandbox"
}

sourceSets {
    main.java.srcDirs = ['src', 'gen']
    main.resources.srcDir 'resources'
    test.java.srcDir 'test/src'
    test.resources.srcDir 'test/data'
}

// In this section you declare the dependencies for your production and test code dependencies {
    compile fileTree(dir: 'lib', include: ['*.jar'])
    // The production code uses the SLF4J logging API at compile time
    compile 'org.slf4j:slf4j-api:1.7.18'
    // Declare the dependency for your favourite test framework you want to use in your tests.
    // TestNG is also supported by the Gradle Test task. Just change the
    // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
    // 'test.useTestNG()' to your build script.
    testCompile 'junit:junit:4.12'
    compile 'com.google.zxing:core:3.2.1'
    compile 'com.google.zxing:javase:2.2'
}

使用 Gradle 快速发布插件到自建仓库

JetBrains 官方提供了工具帮助构建发布 IntelliJ IDEA 插件。默认发布至 JetBrains 官方仓库,但在最新 SNAPSHOT 版本中,插件提供 host 属性可设置自定义仓库。我们可以在自己的 build.gradle 文件里面设置这个 host 属性:

publishPlugin.doFirst {
    publishPlugin.host = 'http://ysera.alipay.net:9000/'
}

配置后可直接使用 gradle publishPlugin 发布。需注意上传的插件需包含以下信息:

  • userName:用户名
  • password:密码
  • xmlId:插件的 ID,也就是在 plugin.xml 里面定义的 ID。
  • file:插件的 ZIP 包。

至此,自建插件仓库即可投入使用。

目录

  1. IntelliJ IDEA 插件自建仓库
  2. 搭建 IntelliJ IDEA 插件仓库
  3. 使用 Gradle 构建 IntelliJ IDEA 插件
  4. 使用 Gradle 快速发布插件到自建仓库
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • SpringBoot + Vue 构建 Python 在线调试器方案
  • Unitree SDK2 Python 完整配置与使用指南
  • AgentDoG: 面向 AI 智能体安全与防护的诊断护栏框架
  • C++ 二叉搜索树简单实现:增删查改全攻略
  • JNI 开发:C++ Debug 正常 Release 返回 NaN 原因解析
  • GitHub Copilot Pro 学生免费权益获取与 VS Code 配置指南
  • OpenCode 开源 AI 编程助手:从入门到精通
  • Logseq 本地部署与 cpolar 远程访问配置指南
  • 基于 YOLO 与 LLM 的 Web 目标检测与智能分析系统
  • Web 团队开发 App:是否应该选择 Capacitor
  • Whisper.cpp 离线语音识别快速入门
  • Linux 进程控制详解
  • OpenClaw 龙虾机器人 Windows 系统部署指南
  • BR8654 蓝牙 6.0 SOC 芯片技术规格与特性
  • 文心一言 4.0 调用性能优化实战
  • ClawX 可视化 AI 智能体使用指南
  • Claude Code 跨平台安装与配置指南(Win/Linux/Mac)
  • OpenClaw Web Search 配置与渠道选择指南
  • C++ 嵌入 Python 调用实战:Py_Initialize 初始化与函数交互
  • 大模型核心组件解析:激活函数与 FFN 块详解

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online