博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

JIRA开发(二):插件本地开发环境搭建手册

Posted on 2013-01-18 16:27  Bruce Zhang  阅读(3072)  评论(0编辑  收藏  举报

下面是根据JIRA官方文档总结出来开发环境搭建步骤,官方文档地址为:

https://developer.atlassian.com/display/DOCS/Set+up+the+Atlassian+Plugin+SDK+and+Build+a+Project

背景定位为:在Windows下面进行JIRA 插件开发。

第一步:预安装环境搭建官方文档位置为:Set up the SDK Prerequisites on a Windows System

  1. 安装JDK1.6,并配置JAVA_HOME环境变量。

第二步:下载/安装Atlassian SDK官方文档位置为:Install the Atlassian SDK on a Windows System

  1. 下载SDK(目前(2013-01-24)的版本是4.1.2):sdk-installer-4.1.2.exe
  2. (1)安装Atlassian SDK(要求安装路径中没有任何空格),SDK会默认安装嵌入式的tomcat和maven。安装后目录结构如下:

 

(2)编辑SDK内嵌Maven的settings.xml,自定义<localRepository>:

备注:Atlassian SDK使用的是Maven1.2,而我们其他项目开发一般都用Maven3.4或者Maven3.3

      为了不和电脑中已使用的其他版本的Maven本地仓库混合,所以建议创建独立的本地Maven仓库。

在<settings></settings>中加入:<localRepository>D:\ProgramFiles\atlassian-plugin-sdk-4.1.2\repository</localRepository>      

第三步:为Eclipse绑定JDK1.6和Atlassian JDK的默认Maven

  1. 将上述JDK配置成Eclipse 默认JDK(就不多说了)。
  2. 将Atlassian SDK内嵌Maven配置成Eclipse默认Maven,见如下截图:

 

 

第四步:创建plugin骨架(Atlassian提供了“atlas-create-plugin”命令,用以创建插件的基本框架,方便大家开发

请参照官方文档创建helloword插件的教程:https://developer.atlassian.com/display/DOCS/Create+a+HelloWorld+Plugin+Project

第一次运行atlas-create-jira-plun和atlas-run的时候,需要下载大量JAR/WAR包,网速慢的话要好几个小时。

Atlassion生成的插件默认基于JIRA5.1.8开发,所以会下载atlassian-jira-webapp-5.1.8.war:

但是,我们也可能基于JIRA 5.2.5(目前最新JIRA发布版本)开发,也需要atlassian-jira-webapp-5.2.5.war

 

 基于哪个版本的JIRA开发,需要在pom.xml中配置,截图如下:

第五步:配置开发Debug环境,官方文档地址为:

https://developer.atlassian.com/display/DOCS/Creating+a+Remote+Debug+Target

简单来讲,分为三个步骤:

1. 将plugin导入到eclipse中,一般已“Existing Maven Projetc”方式导入(参照上一张截图)。

2. 本地以Debug模式启动JIRA,使用命令:

cd D:\ProgramFiles\atlassian-plugin-sdk-4.1.2\workspace\<your plugin name>
atlas-debug --product jira --version 5.2.7

3. 使用Eclipse的RemoteDebug方式进行Debug:Run --> Debug Configuration --> Remove Java Application创建,截图如下:

 

       备注:Port必须是5005

 4. 可以配对使用atlas-cli进行快速发布,但是此命令有时会将依赖包的Classes漏打到插件的JAR包里。所以如果出现xxx类找不到的异常,首先去确认这个类有没有被打到plugin的JAR包内。如果的确没有打进来,停掉atlas-cli,停掉atlas-debug并重新启动。