页面树结构
转至元数据结尾
转至元数据起始

同步视频地址:

1、介绍FineReport V8.0插件开发的基础知识,包括搭建环境,构建插件,上传插件,合作开发代码等等

http://video.finereport.com/plugin/less1.mp4(右击“另存为”,可保存到本地)

2、如何编译、调试

http://video.finereport.com/plugin/less2.mp4 

了解FineReport插件

FineReport下载地址:http://www.finereport.com/products/trial

基本工具准备

工具名下载地址说明
JDKhttp://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html下载Windows或者Mac版
IntelliJ IDEAhttps://www.jetbrains.com/idea/download/可使用迅雷下载Windows或者Mac版
Anthttp://download.csdn.net/download/lablenet/8952705Windows和Mac下都是通用的
Tomcathttp://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.zip可以自己下载,也可以使用start下的

Git

http://7xk388.dl1.z0.glb.clouddn.com/Git-2.7.0-64-bit.exe

http://7xk388.dl1.z0.glb.clouddn.com/Git-2.8.1-32-bit.exe

Windows上才需要下载,Mac系统自

带有Git,不需要下载安装

说明:IntelliJ IDEA可以下载旗舰版,激活的时候用:http://jetbrains.tencent.click

注册账号

访问http://www.finedevelop.com:2015/projects并注册自己的账号,我们需要使用这个账号从FineGit中下载源代码。

开发目录

假设我们在D:/develop/finereport目录下存储开发工程和代码,如果没有,则自己新建一个这样的目录(当然位置和名字随意),下面这个目录都以~/finereport表示。

克隆代码

我们使用浏览器访问开源源码所在的位置:http://www.finedevelop.com:2015/projects/ST,将其中的所有字项目全部克隆下来。(里面的lib工程clone之后最好更新下里面的fr开头的jar包,更新地址参见lib下的readme)

以design子项目为例:

在进入~/finereport后,执行克隆命令(注意:这个tyro668就是你的用户名,每个人是不一样的,不要直接复制

git clone http://tyro668@www.finedevelop.com:2015/scm/st/design.git

按照同样的方法,把其他几个子模块也克隆下来,全部完成之后,在文件夹中就是这样的:

打开工程

在克隆好代码后,打开已经安装好的IntelliJ IDEA,Open工程配置目录~/finereport/project即可

打开工程以后,就可以直接启动设计器了

启动项类别

在启动设计器的地方,我们可以看到有一个向下拉的三角,我们点开以后,可以看到三种启动方式

分别是:直接启动设计器(Designer),启动设计器界面调试(Designer4Debug),直接启动服务器(tomcat)。

其中直接启动设计器没什么好说的,就是常规的设计器启动主函数。

启动设计器界面调试时为了方便的根据设计器上的组件找到对应的代码,具体可参见这里

直接启动tomcat则用于真实的服务器环境调试。

注意: 设计器同时只能打开一个, 如果代码启动, 没看到设计器界面出来, 就退出了, 有可能是exe没关掉.

更新开发工程

因为源代码是跟随着帆软的开发,实时更新的,所以在插件开发的时候,也最好做到经常更新开发工程。

更新开发工程需要做两个事情,而且这两步总是需要同时进行的,否则会造成很多必要的麻烦。

更新源码

更新源码比较简单,进入~/finereport的子目录下,我们以design目录为例:

进入~/finereport/design目录,执行命令

git pull

即可更新最新的代码。

更新依赖jar包

同时,我们需要访问ftp服务器ftp://env.finedevelop.com/report/stable中的jar包更新到~/finereport/lib/report中,需要更新的jar包括:

fr-core-8.0.jar

fr-chart-8.0.jar

fr-report-8.0.jar

fr-platform-8.0.jar

fr-performance-8.0.jar

fr-third-8.0.jar

切记注意,只需要更新这6个jar包,其他的任何包额外放入~/finereport/lib/report中可能引起开发工程启动异常。

切换开发分支

在帆软开发中,会存在两个版本,一个就是经过测试了的稳定版本,另外一个就是开发中的版本,这个版本具有最新的特性、接口等,但是没有经过测试,可能存在比较多的bug。如果开发过程中,需要使用开发版本,那么久进入~/finereport后,进入需要切换的子目录,我们还是以design目录为例子,进入~/finereport/design后,执行下面的命令

git checkout dev

在切换了源码到dev分支后,lib也需要切换到dev分支

cd ~/finereport/lib
git checkout dev

同样的,更新代码的时候dev版本也需要从ftp://env.finedevelop.com/report/nightly/下更新~/finereport/lib/report下的6个jar包。

  • 无标签

10 评论

  1. 匿名用户 发表:

    大神,你好,我是静听禅鸣,在查看该文档的时候,发现了一处错误,

    原文是:直接启动tomcat则用于真是的服务器环境调试。

    改文是:直接启动tomcat则用于真实的服务器环境调试。

    改动原因:是真实而不是真是,谢谢大神的文档分享

     

    1. neil 发表:

  2. 匿名用户 发表:

    你好,为什么会报在designer下面找不到stable的错呢,我看源码里也没有这个文件夹啊

    1. neil 发表:

      依赖的fr-core.jar里的, 你没更新.

  3. 匿名用户 发表:

    大神,lib切换成了dev切换不回来怎么办,它始终提示:

    Your local changes to the following files would be overwritten by checkout:
    report/fr-chart-8.0.jar
    report/fr-core-8.0.jar
    report/fr-performance-8.0.jar
    report/fr-platform-8.0.jar
    report/fr-report-8.0.jar
    Please, commit your changes or stash them before you can switch branches.
    Aborting

    1. richie 发表:

      执行下git stash

  4. 匿名用户 发表:

    Please tell me who you are.

    Run

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

    to set your account's default identity.
    Omit --global to set the identity only in this repository.

    fatal: unable to auto-detect email address (got 'unicom@unicom-PC.(none)')
    Cannot save the current index state

    unicom@unicom-PC MINGW32 /f/develop/finereport/lib (dev)
    $

    (手动捂额)

  5. 匿名用户 发表:

    大神,我的分支切换过去切换不回来了怎么办啊,你说执行git stash,然后他就返回了我一堆这个:

    *** Please tell me who you are.

    Run

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

    to set your account's default identity.
    Omit --global to set the identity only in this repository.

    fatal: unable to auto-detect email address (got 'unicom@unicom-PC.(none)')
    Cannot save the current index state

    1. 匿名用户 发表:

      你git还没配置把

  6. 匿名用户 发表:

    提个建议,那几个jar包要放到webroot\lib目录下,这个也应该写在教程里面吧