工欲善其事必先利其器,做开发首先要有个好用的开发工具。在这里推荐一个开源工具 Eclipse 集成开发平台。本文介绍如何手动配置 Eclipse 开发环境,以便于快速开发 Smartbi 扩展包,尤其是用于调试后端 Java 代码。
集成Eclipse开发环境见插件开发IDE。
1、下载并加载SmartbiPluginApp
在这里假设您已经下载并配置好了 Eclipse 开发工具。然后从这里下载 SmartbiPluginApp 项目,将其解压到自己的代码开发工作目录下。启动 Eclipse 工具,然后在“Package Explorer”窗格上点击右键“Import...”,导入刚刚解压的 SmartbiPluginApp 项目。如下图所示。
2、启动应用服务器
开发调试环境的原理是这样的:上一步我们在 Eclipse 中加载的 SmartbiPluginApp 项目包含了 apache-tomcat-7.0.42,在其下部署了 smartbi 应用。该 smartbi 应用在运行时,会加载其它扩展包项目,从而让开发人员对其它扩展包项目的代码进行调试。接下来我们需要进行配置,让该 smartbi 正常运行起来。
2.1 取得开发用的Smartbi-License文件
首先需要从思迈特处申请一个开发用的 Smartbi-License 文件。将取得的 Smartbi-License.xml 文件直接覆盖 /SmartbiPluginApp/apache-tomcat-7.0.42/bin/smartbi/ 目录下的同名文件。
2.2 配置开发环境的知识库
该开发环境下的 smartbi 需要有个知识库,修改 /SmartbiPluginApp/apache-tomcat-7.0.42/bin/smartbi/smartbi-config.xml 文件,设置知识库连接信息,主要修改<dao/>这一段。
<dao> <database-type>MYSQL</database-type> <server-name>localhost:6688</server-name> <database-name>smartbi-dev-ide</database-name> <username>admin</username> <pass>admin</pass> <encrypt-type>0</encrypt-type> <max-count>100</max-count> <init-count>2</init-count> </dao>
2.3 启动 apache-tomcat-7.0.42
SmartbiPluginApp 项目下已经添加了一个 Run_SmartbiPluginApp 启动配置文件,可以直接在“Debug”、“Run”模式下启动它。
2.4 更新开发环境下smartbi版本
下载回来的 SmartbiPluginApp 项目虽然自带了一个 smartbi,但是其版本比较早。在开发调试时,要求开发所基于的smartbi版本,应该与未来生产环境部署的smartbi版本一致。因此我们还需要升级 /SmartbiPluginApp/apache-tomcat-7.0.42/webapps 路径下的 smartbi,具体升级过程可以参考:Smartbi版本更新。
3、开发调试新功能
- 首先参考“插件开发框架”,创建一个自己的 HelloWorld 项目,然后在 Eclipse 中导入该项目。
- 接着在 Eclipse 中启动 Run_SmartbiPluginApp,打开浏览器访问 config.jsp 页面,配置 smartbi 扩展包加载路径指向 /HelloWorld/src/web。
或者通过下面方式添加扩展包路径到smartbi项目环境修改:/SmartbiPluginApp/apache-tomcat-7.0.42/webapps/smartbi/WEB-INF/extensions/extensions.list 文件,以便让 smartbi 加载正在开发的代码。请确认该文件中是否存在下面这一行,如果没有则添加。
插件包路径(d:\test)\src\web
- 我们可以在 HelloWorld 项目的任意代码文件中添加断点,进行调试了。
4、如何支持多扩展包开发
如果项目现场还想多创建一个扩展包,如何加入到这个调试环境呢?具体操作方法如下:
1,使用使用smartbi提供工具创建扩展包,譬如扩展包名为SecondPlugin, 存放在:D:/ext/
2,在上面Eclipse开发环境中,点击File -> Import -> Existing Projects into Workspace(或者右击Package Explorer->Import),将上面扩展包项目加入到Eclipse
3,加载扩展包:/SmartbiPluginApp/apache-tomcat-7.0.42/webapps/smartbi/WEB-INF/extensions/extensions.list文件中加入一行D:/ext/SecondPlugin/src/web
..\..\..\..\..\src\web D:/ext/SecondPlugin/src/web
4,参照上面2.3 启动 apache-tomcat-7.0.42,这样这个扩展包也可以加入到smartbi了,并且可以调试
6、如何解决扩展包修改后需要重启生效
修改SmartbiPluginApp/apache-tomcat-7.0.42/webapps/smartbi/WEB-INF下的web.xml文件,在文件中加入下方蓝色加粗的代码,
<context-param>
<param-name>ProductName</param-name>
<param-value>Smartbi</param-value>
</context-param>
<context-param>
<param-name>DevEnv</param-name>
<param-value>true</param-value>
</context-param>
以及修改如图所示的位置:
7、如何解决扩展包修改后需要重启浏览器才生效
删除SmartbiPluginApp/apache-tomcat-7.0.42/webapps/smartbi/vision/version.txt 文件