Ureport2源码启动

代码 代码 1729 人阅读 | 0 人回复

<
  
   
    因为自己利用的idea,以是接下去齐程利用idea
   
  
1. 前期筹办

先clone一份源码到本地。 git下载地点 https://gitee.com/youseries/ureport.git
下载的源码文件格局以下:
115040x00i0nejt4zoi4kn.jpg

2. 导进js项目

idea导进js项目, ureport2-js 文件。 以下:
导进出去后是出有node_modules文件的
需求利用npm install 下载包。
115041pqctic203dqy2ced.jpg



  • 修正Ureport2-js项目标package.json文件

  • 正在scripts中增加 build及start
  • 正在devDependencies中增加webpack及webpack-cli、webpack-dev-server
  • 正在dependencies 中增加react及react-dom
  1.   "scripts": {
  2.     "test": "echo "Error: no test specified" && exit 1",
  3.     "build": "webpack",
  4.     "start": "webpack-dev-server --open"
  5.   },
  6.     "devDependencies": {
  7.     "babel-cli": "^6.26.0",
  8.     "babel-core": "^6.26.0",
  9.     "babel-loader": "^7.1.4",
  10.     "babel-preset-env": "^1.6.1",
  11.     "css-loader": "^0.28.11",
  12.     "expose-loader": "^0.7.1",
  13.     "file-loader": "^0.9.0",
  14.     "style-loader": "^0.13.1",
  15.     "uglifyjs-webpack-plugin": "^1.2.4",
  16.     "url-loader": "^0.5.7",
  17.     "webpack": "^4.46.0",
  18.     "webpack-cli": "^3.3.12",
  19.     "webpack-dev-server": "^3.11.2"
  20.   },
  21.   "dependencies": {
  22.     "bootbox": "^4.4.0",
  23.     "bootstrap": "^3.3.7",
  24.     "bootstrap-colorpicker": "^2.5.0",
  25.     "chart.js": "^2.7.2",
  26.     "chartjs-plugin-datalabels": "^0.3.0",
  27.     "codemirror": "^5.23.0",
  28.     "completer": "^0.1.3",
  29.     "handsontable": "^0.32.0",
  30.     "jquery": "^3.1.1",
  31.     "jquery-contextmenu": "^2.4.2",
  32.     "node-uuid": "^1.4.7",
  33.     "raphael": "^2.2.7",
  34.     "react": "^17.0.1",
  35.     "react-dom": "^17.0.1",
  36.     "save-svg-as-png": "^1.3.2",
  37.     "undo-manager": "^1.0.5"
  38.   }
复造代码
以上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文件中的那句话
115041n16ummkmktt162cl.png

3. 导进后端项目

  1. 1. 新建一个SpringBoot项目。
  2. 2. 以下步调所示, 导进Ureport其他四个项目。导进Maven格局
复造代码
115041nuafwjyj526u68v6.jpg



  • 顺次导进Ureport2-console、Ureport2-core、Ureport2-font、Ureport2-parent。
    115042okkvzgvtye2pptnh.jpg

  • 修正SpringBoot中的POM文件,引进Ureport依靠
  1. <dependency>
  2.             <groupId>com.bstek.ureport</groupId>
  3.             <artifactId>ureport2-console</artifactId>
  4.             <version>2.3.0-SNAPSHOT</version>
  5.         </dependency>
  6.         <dependency>
  7.             <groupId>com.bstek.ureport</groupId>
  8.             <artifactId>ureport2-core</artifactId>
  9.             <version>2.3.0-SNAPSHOT</version>
  10.         </dependency>
  11.         <dependency>
  12.             <groupId>com.bstek.ureport</groupId>
  13.             <artifactId>ureport2-font</artifactId>
  14.             <version>2.0.1</version>
  15.         </dependency>
  16. <!--我利用的oracle驱动,  假如您利用的mysql。那末本人换成您需求的版本-->
  17.         <dependency>
  18.             <groupId>com.oracle.ojdbc</groupId>
  19.             <artifactId>ojdbc8</artifactId>
  20.             <version>19.3.0.0</version>
  21.         </dependency>       
复造代码


  • 设置文件
  1. server:
  2.   port: 8066
  3.   tomcat:
  4.     max-swallow-size: -1
  5.   servlet:
  6.     context-path:
  7.   address: 0.0.0.0
  8. spring:
  9.   datasource:
  10.     url: jdbc:mysql://192.168.999.999:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
  11.     username: root
  12.     password: root
  13.     driver-class-name: com.mysql.cj.jdbc.Driver
  14.    
  15. ureport:
  16.   disableHttpSessionReportCache: false
  17.   #UReport2默许报表存储
  18.   disableFileProvider: false
  19.   fileStoreDir: D:/cshi
  20.   debug: true
复造代码


  • 新建Ureport设置类,正在SpringBoot包中创立config包
  1. package com.tiancai.master.config;
  2. import com.bstek.ureport.definition.datasource.BuildinDatasource;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.boot.context.properties.ConfigurationProperties;
  7. import org.springframework.boot.jdbc.DataSourceBuilder;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.Configuration;
  10. import org.springframework.stereotype.Component;
  11. import javax.sql.DataSource;
  12. import java.sql.Connection;
  13. import java.sql.SQLException;
  14. @Component
  15. @Configuration
  16. //没有减项目可以启动可是会招致减载数据源报错或减载没有了
  17. @ImportResource("classpath:ureport-console-context.xml")
  18. public class UreportDatasource implements BuildinDatasource {
  19.     private static final String NAME = "oracle";
  20.     private Logger log = LoggerFactory.getLogger(UreportDatasource.class);
  21.     @Autowired
  22.     private DataSource dataSource;
  23.     /**
  24.      * 设置ureport的servlet
  25.      * @return
  26.      */
  27.     @Bean
  28.     public ServletRegistrationBean buildUReportServlet() {
  29.         //htreport
  30.         return new ServletRegistrationBean(new UReportServlet(),"/ureport/*");
  31.     }
  32.     /**
  33.      * ds1数据库设置
  34.      */
  35.     @Bean("ds1")
  36.     @ConfigurationProperties(prefix = "spring.datasource.druid.ds1")
  37.     public DataSource ds1Source() {
  38.         return DataSourceBuilder.create().build();
  39.     }
  40.     @Override
  41.     public String name() {
  42.         return NAME;
  43.     }
  44.     @Override
  45.     public Connection getConnection() {
  46.         try {
  47.             return dataSource.getConnection();
  48.         } catch (SQLException e) {
  49.             log.error("Ureport 数据源 获得毗连失利!");
  50.             e.printStackTrace();
  51.         }
  52.         return null;
  53.     }
  54.    
  55. }
复造代码


  • SpringBoot 启动类以下:
  • 启动后掌握台会输前途径,能够会见了。
  1. public static void main(String[] args) throws UnknownHostException {
  2.         ConfigurableApplicationContext application = SpringApplication.run(MasterApplication.class, args);
  3.         Environment env = application.getEnvironment();
  4.         String ip = InetAddress.getLocalHost().getHostAddress();
  5.         String port = env.getProperty("server.port");
  6.         String path = env.getProperty("server.servlet.context-path")==null?"":env.getProperty("server.servlet.context-path");
  7.         System.out.println("\n----------------------------------------------------------\n\t" +
  8.                 "Application UReport is running! Access URLs:\n\t" +
  9.                 "Local: \t\thttp://localhost:" + port + path + "/ureport/designer\n\t" +
  10.                 "----------------------------------------------------------");
  11.     }
复造代码
旅游器输进途径便可启动完成。
115042b7cpbedadpavdv2z.jpg

!!!!欢送会商。

免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则