Confluence插件開發(fā) - 1 - 開發(fā)環(huán)境準備

寫在前面

Confluence插件開發(fā)系列為我個人在實際項目中積累的開發(fā)經(jīng)驗赃春,所有內(nèi)容基于官方文檔教程和Google搜索兄纺,在開發(fā)過程中遇到的一些內(nèi)容官方文檔中沒有詳細說明的地方做一些個人的記錄奕巍。如果英文能力好的同學可自行閱讀官方指導文檔進行開發(fā)窘面,本系列指導說明適用于期望快速上手不需要深入了解官方指導文檔的同學。

Confluence簡單介紹

Confluence是Atlassian公司一款產(chǎn)品件相,是一個專業(yè)的知識管理協(xié)同軟件再扭,方便企業(yè)構(gòu)建wiki文檔,使用簡單方便夜矗,強大的編輯器和協(xié)同文檔處理能力讓企業(yè)辦公中方便管理知識文檔泛范、積累經(jīng)驗。官網(wǎng)地址

Confluence插件是什么紊撕?可以做什么敦跌?

Confluence插件是對軟件功能的擴展,通過插件開發(fā)不局限于官方軟件能力逛揩,可以實現(xiàn)一些定制化的能力例如:企業(yè)定制化的消息通知、增加自定義wiki內(nèi)用戶同步麸俘、增加單點登錄能力等等辩稽。插件包括兩種:(1)系統(tǒng)app,提供系統(tǒng)核心能力(2)自定義的第三方插件:自定義開發(fā)的或者第三方開發(fā)者定制的擴展confluence已有功能的程序从媚。

Confluence Plugin(or add-on)是由一個或者多個子模塊組成逞泄,插件可以執(zhí)行很多事情,比如說監(jiān)聽事件,注冊servlet執(zhí)行加載頁面等等喷众,插件是由java語言開發(fā)各谚。

環(huán)境準備

本文開發(fā)環(huán)境以及相關(guān)示例在macos系統(tǒng)內(nèi)執(zhí)行,windows相關(guān)的操作步驟大體一致到千,僅是安裝包不同昌渤,文中在相關(guān)的位置會標注說明。
編程語言:Java
Java version:示例中使用jdk1.8版本
IDE:自己喜歡的工具就好憔四,本文示例使用Intellj

著手開發(fā)Confluence插件

Confluence plugin SDK 安裝

下載安裝包

執(zhí)行此操作之前膀息,你需要正確安裝JDK,JDK安裝自行百度或者谷歌了赵,建議安裝JDK1.8版本潜支。

WIndow安裝Plugin SDK

通過官方下載鏈接下載exe安裝包,執(zhí)行安裝柿汛,地址

Mac OSX下安裝

有兩種安裝方式冗酿,通過dmg安裝包安裝,下載地址

也可以直接使用homebrew進行安裝络断,這里方便以后卸載和升級建議使用homebrew安裝裁替,操作如下:

  • 增加Tap brew tap atlassian/tap
  • 安裝sdk brew install atlassian/tap/atlassian-plugin-sdk
  • 如果后續(xù)需要升級可以執(zhí)行 brew update brew upgrade atlassian/tap/atlassian-plugin-sdk
    注意:國內(nèi)homebrew下載地址可能會比較慢,建議修改homebrew源妓羊,修改操作可以參考:http://mirrors.ustc.edu.cn/help/homebrew-cask.git.html

其他系統(tǒng)安裝SDK

RPM/RHEL/CentOs/Fedora(YUM)
Debian/Ubuntu
上述系統(tǒng)安裝SDK請參照這里

驗證sdk安裝成功

系統(tǒng)打開命令行終端輸入atlas-version輸入如下內(nèi)容即表示安裝成功

?  ~ atlas-version

ATLAS Version:    8.0.16
ATLAS Home:       /usr/local/Cellar/atlassian-plugin-sdk/8.0.16/libexec
ATLAS Scripts:    /usr/local/Cellar/atlassian-plugin-sdk/8.0.16/libexec/bin
ATLAS Maven Home: /usr/local/Cellar/atlassian-plugin-sdk/8.0.16/libexec/apache-maven-3.5.4
AMPS Version:     8.0.2
--------
Executing: /usr/local/Cellar/atlassian-plugin-sdk/8.0.16/libexec/apache-maven-3.5.4/bin/mvn --version -gs /usr/local/Cellar/atlassian-plugin-sdk/8.0.16/libexec/apache-maven-3.5.4/conf/settings.xml
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/Cellar/atlassian-plugin-sdk/8.0.16/libexec/apache-maven-3.5.4
Java version: 9, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.3", arch: "x86_64", family: "mac"

創(chuàng)建一個"Hello World"的插件

打開終端程序胯究,輸入命令:

atlas-create-confluence-plugin

提示輸入groupId、artifactId躁绸、version裕循、package后輸入Y確認自動創(chuàng)建項目工程
[圖片上傳失敗...(image-7df143-1587051225640)]
[圖片上傳失敗...(image-76df27-1587051225640)]
在當前目錄下可以看到創(chuàng)建好的子目錄plugin-demo,進入到plugin-demo中我們可以看到目錄結(jié)構(gòu)如下:

.
├── LICENSE    項目的license
├── README    說明文檔
├── pom.xml     pom文件
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── atlassian
    │   │           └── tutorial
    │   │               └── myPlugin
    │   │                   ├── api
    │   │                   │   └── MyPluginComponent.java    示例Api接口
    │   │                   └── impl
    │   │                       └── MyPluginComponentImpl.java    示例Api代碼實現(xiàn)類
    │   └── resources
    │       ├── META-INF
    │       │   └── spring
    │       │       └── plugin-context.xml    spring-context配置文件
    │       ├── atlassian-plugin.xml    插件項目主要配置文件
    │       ├── css
    │       │   └── myPlugin.css    示例css文件
    │       ├── images
    │       │   ├── pluginIcon.png   插件圖片
    │       │   └── pluginLogo.png   插件logo圖片
    │       ├── myPlugin.properties   項目相關(guān)的變量配置文件
    │       └── js
    │           └── myPlugin.js  插件示例js文件
    └── test    單元測試目錄以及資源文件
        ├── java
        │   ├── it
        │   │   └── com
        │   │       └── atlassian
        │   │           └── tutorial
        │   │               └── myPlugin
        │   │                   └── MyComponentWiredTest.java
        │   └── ut
        │       └── com
        │           └── atlassian
        │               └── tutorial
        │                   └── myPlugin
        │                       └── MyComponentUnitTest.java
        └── resources
            └── atlassian-plugin.xml

至此净刮,一個最簡單的空插件已經(jīng)創(chuàng)建完成了

插件開發(fā)常用命令

首先介紹一下常用命令

atlas-clean

進入到插件根目錄執(zhí)行剥哑,清理刪除target目錄

atlas-mvn package

進入到插件根目錄執(zhí)行,對當前插件編譯淹父、打包操作株婴,正確打包結(jié)束后,目標文件為target/xxxxx.jar target/xxxxx.obr兩個文件暑认,這兩個文件都可以上傳部署到Confluence系統(tǒng)內(nèi)困介。

atlas-run

本地運行Confluence測試環(huán)境安裝插件,需要在插件根目錄執(zhí)行蘸际,因啟動一個完成的Confluence測試環(huán)境需要內(nèi)容較多座哩,建議至少保證系統(tǒng)空閑2GB內(nèi)存,運行成功后可打開瀏覽器輸入http://localhost:1990/confluence進入測試界面粮彤,默認的管理員賬號密碼為admin/admin

示例代碼

https://github.com/chaoyz/plugin-demo

參考

Confluence plugin guide
Getting started

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末根穷,一起剝皮案震驚了整個濱河市姜骡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屿良,老刑警劉巖圈澈,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異尘惧,居然都是意外死亡康栈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門褥伴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谅将,“玉大人,你說我怎么就攤上這事重慢〖⒈郏” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵似踱,是天一觀的道長隅熙。 經(jīng)常有香客問我,道長核芽,這世上最難降的妖魔是什么囚戚? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮轧简,結(jié)果婚禮上驰坊,老公的妹妹穿的比我還像新娘。我一直安慰自己哮独,他們只是感情好拳芙,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著皮璧,像睡著了一般舟扎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悴务,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天睹限,我揣著相機與錄音,去河邊找鬼讯檐。 笑死羡疗,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的别洪。 我是一名探鬼主播叨恨,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蕉拢!你這毒婦竟也來了特碳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤晕换,失蹤者是張志新(化名)和其女友劉穎午乓,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闸准,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡益愈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了夷家。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒸其。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖库快,靈堂內(nèi)的尸體忽然破棺而出摸袁,到底是詐尸還是另有隱情,我是刑警寧澤义屏,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布靠汁,位于F島的核電站,受9級特大地震影響闽铐,放射性物質(zhì)發(fā)生泄漏蝶怔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一兄墅、第九天 我趴在偏房一處隱蔽的房頂上張望踢星。 院中可真熱鬧,春花似錦隙咸、人聲如沸沐悦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽所踊。三九已至,卻和暖如春概荷,著一層夾襖步出監(jiān)牢的瞬間秕岛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工误证, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留继薛,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓愈捅,卻偏偏與公主長得像遏考,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蓝谨,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容