由于本人使用的idea,所以接下来全程使用idea

1. 前期准备

先clone一份源码到本地。 git下载地址 https://gitee.com/youseries/ureport.git

下载的源码文件格式如下:

2. 导入js项目

idea导入js项目, ureport2-js 文件。 如下:
导入进来后是没有node_modules文件的
需要使用npm install 下载包。

  • 修改Ureport2-js项目的package.json文件
  1. 在scripts中添加 build及start
  2. 在devDependencies中添加webpack及webpack-cli、webpack-dev-server
  3. 在dependencies 中添加react及react-dom
  "scripts": {"test": "echo \"Error: no test specified\" && exit 1","build": "webpack","start": "webpack-dev-server --open"},"devDependencies": {"babel-cli": "^6.26.0","babel-core": "^6.26.0","babel-loader": "^7.1.4","babel-preset-env": "^1.6.1","css-loader": "^0.28.11","expose-loader": "^0.7.1","file-loader": "^0.9.0","style-loader": "^0.13.1","uglifyjs-webpack-plugin": "^1.2.4","url-loader": "^0.5.7","webpack": "^4.46.0","webpack-cli": "^3.3.12","webpack-dev-server": "^3.11.2"},"dependencies": {"bootbox": "^4.4.0","bootstrap": "^3.3.7","bootstrap-colorpicker": "^2.5.0","chart.js": "^2.7.2","chartjs-plugin-datalabels": "^0.3.0","codemirror": "^5.23.0","completer": "^0.1.3","handsontable": "^0.32.0","jquery": "^3.1.1","jquery-contextmenu": "^2.4.2","node-uuid": "^1.4.7","raphael": "^2.2.7","react": "^17.0.1","react-dom": "^17.0.1","save-svg-as-png": "^1.3.2","undo-manager": "^1.0.5"}

以上js项目配置完成。
可以试一下npm run start启动,但是这个项目并不能直接启动, 如需修改的话,修改后可执行npm run build打包
打包后会在源码的Ureoirt2-console项目的src/main/resources/ureport-asserts/js下生成四个js文件。
分别为common.bundle.js、designer.bundle.js、preview.bundle.js、searchform.bundle.js

具体为什么可以参考js项目的webpack.config.js文件中的这句话

3. 导入后端项目

1. 新建一个SpringBoot项目。
2. 如下步骤所示, 导入Ureport其他四个项目。导入Maven格式

  • 依次导入Ureport2-console、Ureport2-core、Ureport2-font、Ureport2-parent。
  • 修改SpringBoot中的POM文件,引入Ureport依赖
<dependency><groupId>com.bstek.ureport</groupId><artifactId>ureport2-console</artifactId><version>2.3.0-SNAPSHOT</version></dependency><dependency><groupId>com.bstek.ureport</groupId><artifactId>ureport2-core</artifactId><version>2.3.0-SNAPSHOT</version></dependency><dependency><groupId>com.bstek.ureport</groupId><artifactId>ureport2-font</artifactId><version>2.0.1</version></dependency>
<!--我使用的oracle驱动,  如果你使用的mysql。那么自己换成你需要的版本--><dependency><groupId>com.oracle.ojdbc</groupId><artifactId>ojdbc8</artifactId><version>19.3.0.0</version></dependency>
  • 配置文件
server:port: 8066tomcat:max-swallow-size: -1servlet:context-path:address: 0.0.0.0
spring:datasource:url: jdbc:mysql://192.168.999.999:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTCusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverureport:disableHttpSessionReportCache: false#UReport2默认报表存储disableFileProvider: falsefileStoreDir: D:/cshidebug: true
  • 新建Ureport配置类,在SpringBoot包中创建config包
package com.tiancai.master.config;import com.bstek.ureport.definition.datasource.BuildinDatasource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;@Component
@Configuration
//不加项目能够启动但是会导致加载数据源报错或加载不了
@ImportResource("classpath:ureport-console-context.xml")
public class UreportDatasource implements BuildinDatasource {private static final String NAME = "oracle";private Logger log = LoggerFactory.getLogger(UreportDatasource.class);@Autowiredprivate DataSource dataSource;/*** 配置ureport的servlet* @return*/@Beanpublic ServletRegistrationBean buildUReportServlet() {//htreportreturn new ServletRegistrationBean(new UReportServlet(),"/ureport/*");}/*** ds1数据库配置*/@Bean("ds1")@ConfigurationProperties(prefix = "spring.datasource.druid.ds1")public DataSource ds1Source() {return DataSourceBuilder.create().build();}@Overridepublic String name() {return NAME;}@Overridepublic Connection getConnection() {try {return dataSource.getConnection();} catch (SQLException e) {log.error("Ureport 数据源 获取连接失败!");e.printStackTrace();}return null;}}
  • SpringBoot 启动类如下:
  • 启动后控制台会输出路径,可以访问了。
public static void main(String[] args) throws UnknownHostException {ConfigurableApplicationContext application = SpringApplication.run(MasterApplication.class, args);Environment env = application.getEnvironment();String ip = InetAddress.getLocalHost().getHostAddress();String port = env.getProperty("server.port");String path = env.getProperty("server.servlet.context-path")==null?"":env.getProperty("server.servlet.context-path");System.out.println("\n----------------------------------------------------------\n\t" +"Application UReport is running! Access URLs:\n\t" +"Local: \t\thttp://localhost:" + port + path + "/ureport/designer\n\t" +"----------------------------------------------------------");}

游览器输入路径即可启动完成。

!!!!欢迎讨论。

Ureport2源码启动相关推荐

  1. Apache ZooKeeper - 使用源码启动ZK集群模式

    文章目录 Pre 配置总览 端口说明 Node 1 [zoo1.cfg ] [myid] Node 2 [zoo2.cfg ] [myid] Node 3 [zoo3.cfg ] [myid] 启动集 ...

  2. 关于cmake从GitHub上下载的源码启动时报错的问题

    关于cmake从GitHub上下载的源码启动时报错的问题: 由于cmake会产生all_build和zero_check两个project,此时需要右击鼠标将需要运行的项目设为启动项,在进行编译,现只 ...

  3. 修改ureport2源码(1)搭建开发环境

    1.ureport2简介 UReport2是一款高性能的架构在Spring之上纯Java报表引擎,通过迭代单元格可以实现任意复杂的中国式报表. 在UReport2中,提供了全新的基于网页的报表设计器, ...

  4. Ureport2源码修改:增加自定义功能

    Ureport2源码修改:单元格超链接增加弹出窗口显示功能 需求来源 功能实现 ureport2-js项目: ureport2-console项目: ureport2-core项目: 最终效果 新人第 ...

  5. mysql源码启动_Mysql源码安装、配置、初始化及启动

    [在此处输入文章标题] 主机环境redhat6.5 64位 实验环境服务端ip 172.25.29.1  mysql 安装包mysql-boost-5.7.11.tar.gz cmake-2.8.12 ...

  6. Ureport2源码修改

    需求:要求登录人不同所看到的报表不同(https://blog.csdn.net/YXWik/article/details/119379511) 思路:源码拦截到请求 获取参数携带的token 并 ...

  7. 如何从源码启动和编译IoTSharp

    IoTSharp 项目是一个开源物联网平台,数据库使用PostgreSQL , 后端使用 Asp.Net Core 2.2 ,前端使用  vue-element-admin , 下面我们介绍如何启动项 ...

  8. RocketMQ 5.0 本地源码启动Cluster模式指南

    这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发.拒绝营销号,拒绝标题党 源码版本 这里选用最新的稳定版本5.0 启动方式 目前5.0的架构发生了重大调整,添加了一层rocke ...

  9. apollo源码启动服务,apollo源码分析

    文章目录 1.下载APOLLO源码 2.执行Sql脚本 3.启动项目 3.1 启动ConfigServiceApplication 3.2 启动apollo-assembly 3.3 启动 apoll ...

  10. Pandaboard OMAP4460用linaro android源码启动

    背景说明: 上一篇博文讲述了使用linaro release 14.10的现成boot和android kernel版本制作SD启动卡,本文讲述如何使用linaro release 14.10 and ...

最新文章

  1. 学习用Pandas处理分类数据!
  2. Deepmind最新研究:从图表示学习看算法推理
  3. Linux的文件权限
  4. 横竖屏切换时候Activity的生命周期
  5. 【日志】2011.12.24
  6. web开发工程师出路
  7. 简单使用ansible-playbook
  8. php登录 cookie,使用cookie进行简单的PHP登录
  9. 电信光猫该怎么同时连接三个路由器?
  10. 012 Ceph多区域网关
  11. win7 docker centos安装mysql_CentOS 7 使用docker安装mysql
  12. Java中的正则表达式
  13. 封装设计 SLC、MLC和TLC
  14. 奔图打印linux驱动下载,奔图P3060DW打印机驱动下载_奔图P3060DW打印机驱动官方下载-太平洋下载中心...
  15. 软件的生命周期分为哪几个阶段
  16. 软件项目管理资料题目
  17. .net MVC全局定时器执行作业
  18. Squitd代理服务器安装
  19. 华尔街风雨飘摇 甲骨文却展翅翱翔
  20. ofd格式转pdf用什么软件?试试这几个转换软件

热门文章

  1. 教师计算机知识培训内容,新学期教师计算机培训方案
  2. 知识竞赛软件/答题系统/答题小程序
  3. 青花瓷运用-下载历史版本App
  4. 模糊控制洗衣机c语言程序,模糊控制洗衣机
  5. 详解今日头条技术架构分析
  6. 使用Python Chord包画出好看的弦图
  7. 最新彩虹DS仿小储云模板源码
  8. 金蝶K3cloud 7.6注册教程
  9. uniapp项目使用mescroll中mescroll-body组件记录
  10. tcl php,关于tcl语言