如何調(diào)試報表插件
在項(xiàng)目開發(fā)過程中插件調(diào)試非常的麻煩,需要修改里面的代碼,編譯出class,需要重新打包插件。然后把之前的刪除,重新安裝最新的。調(diào)試過程比較繁瑣,而且不能調(diào)試,十分的不方便。下面給大家介紹如何調(diào)試插件。
需要工具:eclipse,finereport報表工具
具體說明
1、 新建工程
新建java工程,在此不贅述

2、 添加依賴,啟動設(shè)計(jì)器
若要能啟動設(shè)計(jì)器需要依賴的jar包很多。具體如下:
A、 jetty相關(guān)的jar包

B、 設(shè)計(jì)器相關(guān)的jar包

C、 其他相關(guān)的jar包
選中如圖所示jar包

3、 添加main函數(shù)

主函數(shù)代碼為:
import com.fr.start.Designer;
public class MainFrame {
publicstatic void main(String[] args) {
newDesigner(args);
}
}
4、 啟動設(shè)計(jì)器
效果如下:
注:會有一些報錯,不用關(guān)心,這個是缺少某些插件所依賴的包導(dǎo)致的
比如如上圖,就是缺少文本框身份證驗(yàn)證插件導(dǎo)致的問題。如果你有強(qiáng)迫癥,可以把插件相關(guān)的包也全都添加進(jìn)來。
5、 開發(fā)插件
將代碼添加進(jìn)工程,
ActualLocaleFinder.java 的代碼為:
package com.fr.plugin.designer;
import com.fr.stable.fun.impl.AbstractLocaleFinder;
public class ActualLocaleFinder extends AbstractLocaleFinder {
@Override
/**
* 返回路徑
* @return 同上
*/
public String find() {
return "com/fr/plugin/designer/resource/locale/search";
}
}
SearchTemplateAction.java 的代碼為:
package com.fr.plugin.designer;
import com.fr.base.BaseUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.general.Inter;
import javax.swing.*;
import java.awt.event.ActionEvent;
/**
* Created by Administrator on 2015/7/22 0022.
*/
public class SearchTemplateAction extends UpdateAction{
public SearchTemplateAction(){
//國際化文件配置在search.properties中
this.setName(Inter.getLocText("FR-Designer_Template-Tree-Search"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/plugin/designer/resource/search.png"));
}
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "This is Search Demo");
//TemplateFileTree繼承JTree, 可通過setSelectedTemplatePath選中模板, 可以用遍歷JTree的方法來遍歷該tree.
//TemplateFileTree tree = TemplateTreePane.getInstance().getTemplateFileTree();
}
}
如圖中代碼,設(shè)計(jì)器效果如下圖:
也可以進(jìn)行debug調(diào)試,比如在代碼中加斷點(diǎn)。
如果大家對java debug不會用的,我再此也不做介紹了,可以到百度搜下。
以上介紹就是調(diào)試報表插件的全部內(nèi)容,希望大家喜歡。
相關(guān)文章
JVM加載class文件的原理機(jī)制實(shí)例詳解
Java是一種具有動態(tài)性的解釋型語言,類(class)只有被加載到JVM后才能運(yùn)行,接下來通過本文給大家介紹JVM加載class文件的原理機(jī)制詳解,感興趣的朋友一起看看吧2022-04-04
spring boot配置多個請求服務(wù)代理的完整步驟
這篇文章主要給大家介紹了關(guān)于spring boot配置多個請求服務(wù)代理的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
解決工具接口調(diào)用報錯:error:Unsupported Media Type問題
當(dāng)遇到"UnsupportedMediaType"錯誤時,意味著HTTP請求的Content-Type與服務(wù)器期望的不匹配,比如服務(wù)器期待接收J(rèn)SON格式數(shù)據(jù),而發(fā)送了純文本格式,常見的Content-Type類型包括text/html、application/json、multipart/form-data等2024-10-10
Java操作Jenkins操作憑證(Credential)信息方式
這篇文章主要介紹了Java操作Jenkins操作憑證(Credential)信息方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Java并發(fā)編程學(xué)習(xí)之ThreadLocal源碼詳析
這篇文章主要給大家介紹了關(guān)于Java并發(fā)編程學(xué)習(xí)之源碼分析ThreadLocal的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06
HashSet底層竟然是HashMap實(shí)現(xiàn)問題
這篇文章主要介紹了HashSet底層竟然是HashMap實(shí)現(xiàn)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
Java中生產(chǎn)者消費(fèi)者問題總結(jié)
這篇文章主要介紹了Java中生產(chǎn)者消費(fèi)者問題總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
舉例講解Java的Jackson庫中ObjectMapper類的使用
這篇文章主要介紹了舉例講解Java的Jackson庫中ObjectMapper類的使用,Jackson庫通常被用來實(shí)現(xiàn)Java的對象和JSON之間的轉(zhuǎn)換功能,需要的朋友可以參考下2016-01-01

