GithubHelp home page GithubHelp logo

shzlw / poli Goto Github PK

View Code? Open in Web Editor NEW
2.0K 2.0K 333.0 22.21 MB

An easy-to-use BI server built for SQL lovers. Power data analysis in SQL and gain faster business insights.

Home Page: https://shzlw.github.io/poli

License: MIT License

Java 100.00%
bigdata business-intelligence dashboard data-visualization jdbc reactjs reporting spring-boot sql sql-editor

poli's People

Contributors

oarbusi-ng avatar shzlw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

poli's Issues

Query Limit?

Zhonglu,

Created a couple of table components with queries against our DB2 database on the iSeries. Noticed that it is consistently only returning 1000 rows of data. I don't see anywhere to configure number of rows returned. Is this a hard-coded limitation?

Thanks,

Mike

Any plan to support RLS(Row Level Security)?

For example.
User account belong to USA can only see USA data and UK to UK data etc.

Metabase enterprise version implement RLS maybe like this:

  1. Add additional global K/V attributes to User.
  2. Query append all those K/V parameters.

Instructions are needed for running against mysql data source

Trying to set this up for a Mysql Data Source required some trial and error in the Data Source configuration. It could be useful to others to add to the documentation/readme some notes on that.

After downloading the JDBC Mysql connector and placing it in jdbc-drivers according to the instructions, In Data Source I had to set the Connection Url to jdbc:mysql://[ip]:[port]/[db] but more importantly I had to set the Driver Class Name to com.mysql.cj.jdbc.Driver.

Attempting to Ping the database gives me a ERROR: java.sql.SQLException: SQL String cannot be empty but I can use the Data Source for Reports.

使用docker注意加驱动程序mssql可能会连接错误,需要到容器中修改java.security屏蔽3DES_EDE_CBC

使用docker注意加驱动程序mssql可能会连接错误,需要到容器中修改java.security屏蔽3DES_EDE_CBC
提示如下
ERROR: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error:
"SQL Server did not return a response. The connection has been closed.
打开文件夹(JAVA_HOME)/jre/lib/security中的安全策略文件:Java.security
修改jdk.tls.disabledAlgorithms选项。
Java 8的jdk.tls.disabledAlgorithms默认值:
jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024,
EC keySize < 224, DES40_CBC, RC4_40,3DES_EDE_CBC

为了开启SSL_RSA_WITH_3DES_EDE_CBC_SHA,将3DES_EDE_CBC注释掉:

Java 8的jdk.tls.disabledAlgorithms默认值:
jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024,
EC keySize < 224, DES40_CBC, RC4_40
#,3DES_EDE_CBC

有两个问题

1、mysql驱动问题
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

2、导出cvs显示乱码,而且文件名无法修改
image

Won't connect to Postgres without username/password

It is possible and common to set up postgres to trust local users to connect to their own databases with no password. Poli does not allow for this. Even if the username is left blank:

image

It still tries to connect with an empty username (whereas it should connect without trying username/password auth):

image

I'm able to connect to the same database with psql and no username/password:

$ psql culturecounts
psql (9.4.22)
Type "help" for help.

culturecounts=# 

关于fileter 的问题与真分页问题

1、当设置fileter后为slicer后,在query里编写自己的查询条件,但是slicer只是多选,能否添加一个下拉组件。谢谢

2、当数据量很大时,默认的1000行加载不太满足,
解决方案:能否让用户获取 “当前页数”和“下一页数” 来让用户实现真分页。谢谢

build.sh fails in a fresh checkout

$ ./build.sh 

> [email protected] build /home/chrism/dev/poli/web-app
> react-scripts build

sh: 1: react-scripts: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] build: `react-scripts build`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/chrism/.npm/_logs/2019-07-26T03_16_34_384Z-debug.log
cp: cannot stat ‘build/*’: No such file or directory

Poli-0.11.0 jar file error

Jar file runs, but login doesn't work
Here's the config file on windows:

Config the absolute path to poli.db

For example, jdbc:sqlite:/home/poli/poli.db or jdbc:sqlite:c:/poli/poli.db

spring.datasource.url= jdbc:sqlite:c:/tmp/poli-0.11.0/db/poli.db

The maximum number of data source pool size

poli.datasource-maximum-pool-size=50

The maximum number of records returned in the JDBC result set. Default value is -1 which returns unlimited rows.

poli.maximum-query-records=-1

The display language.

poli.locale-language=en

Allow to run multiple SQL query statements in the query editor. If there are multiple SQL statements, only the

last one will return query results.

poli.allow-multiple-query-statements=false

PDF export server URL. Check export-server/poli-export-server.js for more details.

poli.export-server-url=http://127.0.0.1:6689/pdf

Here's the error from server.txt

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT id, username, name, sys_role FROM p_user WHERE username=? AND password=?]; SQL state [null]; error code [1]; [SQLITE_ERROR] SQL error or missing database (no such table: p_user); nested exception is org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: p_user)] with root cause
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: p_user)

Make poli print friendly and responsive.

It would be very useful if you can print the reports generated by poli

Apply some CSS media queries to be able to print the report. Also responsive to work well on tablet and mobile devices.

Possibility to work with maps

Would be great if we could use map components, like heat maps with basemaps (like OpenStreetMap) - based on lat/long or spatial fields.

Table Export to CSV?

You can export a chart contents to CSV but not a table? This project is 99% of what we need for some internal reporting, this would be the remaining 1%...

Great project, btw. Been using ART (Another Reporting Tool), but your report creation process is much easier for end users.

Oracle Data Source

Does the data source support Oracle? How to create a connection URL and other information?

table问题

数据报表为table ,当数据增多后,下拉滚动看数据后,表头的字段看不到了,能否固定一下表头,滚动数据后,表头不滚动

MSSQL driver issue.

hi i am trying to connect mssql but getting below error.

2019-07-02 14:22:57 [http-nio-6688-exec-3] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException: Failed to load driver class com.microsoft.sqlserver.jdbc.SQLServerDriver in either of HikariConfig class loader or Thread context classloader] with root cause java.lang.RuntimeException: Failed to load driver class com.microsoft.sqlserver.jdbc.SQLServerDriver in either of HikariConfig class loader or Thread context classloader at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:485) at com.shzlw.poli.service.JdbcDataSourceService.lambda$getDataSource$1(JdbcDataSourceService.java:78) at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4876) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3528) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2277) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2154) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2044) at com.google.common.cache.LocalCache.get(LocalCache.java:3952) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4871) at com.shzlw.poli.service.JdbcDataSourceService.getDataSource(JdbcDataSourceService.java:68) at com.shzlw.poli.rest.JdbcDataSourceWs.ping(JdbcDataSourceWs.java:75) at com.shzlw.poli.rest.JdbcDataSourceWs$$FastClassBySpringCGLIB$$9a4f096f.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) at com.shzlw.poli.rest.JdbcDataSourceWs$$EnhancerBySpringCGLIB$$6f59819b.ping(<generated>) at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.shzlw.poli.filter.AuthFilter.doFilter(AuthFilter.java:64) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1747) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)

any suggetion. i am using the below drivers in drivers folder.
mssql-jdbc-7.2.0.jre8.jar

with below driver class name:
com.microsoft.sqlserver.jdbc.SQLServerDriver

Please allow Drill Through to the same report

It would be nice to be able to have a drill through that will refresh only the current report and not go to a different report. Currently, if I add a drill through and point it to the current report, I still need to click refresh to be able to update the other chart's data.

Thank you developing this software.

Tell us how you use Poli?

Hey Folks,

Thanks so much for using Poli! We'd like to hear more about how you use Poli in your product/company/organization/project and how it helps to solve your problems.

Feel free to leave your product/company/organization/project information below so we can show them on our website(coming soon) and readme file!

Thanks again!

[bug] apiKey的两个问题

1.安全问题:当分享一个报表给其他应用系统时,url为:http://localhost:6688/poli/workspace/report/fullscreen?$toReport=reportname&$apiKey=apikey
这里的$apiKey目的是登录验证,但是也带来一个问题,我用以下地址:
http://localhost:6688/poli/workspace/report?$apiKey=apikey
同样可以访问分享人的report页面,导致报表权限泄露。如下图(未登录状态):
http://ww1.sinaimg.cn/large/006y4X83gy1g5k2lykea1j31hc0smgn9.jpg
2. i18n问题:当分享报表时,使用的是默认en语言,不是应用定义的zh语言。

by the way , @shzlw ,这个项目挺好,多谢开源!

Can not run it by manual

poli-0.10.1, Arch Linux, OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.4+11)

java.sql.SQLException: path to 'c:/test/poli.db': '/home/***/poli-0.10.1/c:' does not exist

Only windows? but there is db/poli.db in the package.

源码启动后报错

错误信息如下:环境 mac +jdk1.8+Eclipse sts4
[main] INFO org.springframework.core.KotlinDetector - Kotlin reflection implementation not found at runtime, related features won't be available.

增加pom.xml 文件

org.jetbrains.kotlin
kotlin-reflect
1.3.50

后,启动无日志输出,无报错信息。页面无法访问

全屏不能yo

full screen全屏模式不能用,点击后请进入登录页面

Export to pdf

Is there a way to export the data into a pdf format?

How to split /static/js/2.39a8b735.chunk.js ?

I am using Windows for server. I have been setting inbound port in the firewall, but still can't show the page. On localhost is working properly.
I have an idea, how to split IP:6688/static/js/2.39a8b735.chunk.js ? because that file size is 1.8 MB

Thanks in advance

【优化】报表列表

目前的报表列表是一下子罗列所有报表,是否以目录树方式存放会更好些?

Component Types

Would it be possible to create a Dynamic component type that allows for a query input and a plain text, or html output can can be customized to display the query results?

example:
Component to display the number of currently active sessions.
Currently the only way to achieve this is to put it out to a table.

Ability to add search_path for Redshift queries

Was able to connect to AWS Redshift using a Postgres compatible JDBC driver (https://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html)

However, my data is partitioned into multiple schemas. Need to select the schema before running the query. e.g.

set search_path to mySchema;
select count(*) from myTable;

The error I get is:
Internal Server Error: PreparedStatementCallback; bad SQL grammar [set search_path to xyzz; select * from....

Please suggest a way to do this either while creating the query or when setting up the data source (I can then create multiple datasources - one database per schema.)

Failed to load driver class mysql from HikariConfig class classloader

First of all, thanks. That is a very interesting project you made. I setup the mysql driver jar in the jdbc-drivers folder in the project.

When I added a datasource and ping it works well. And then made a report, it works very well when check the datasorce schema. But when I edit the query to fetch data, it went wrong with this error:

My platform is Windows. And I have already added the mysql driver jar into the java classpath. What I'm curious is it works well for datasource schema read, but failed for query execution, due to driver load failed. Any idea?

2019-06-13 14:56:18 [http-nio-6688-exec-3] ERROR com.zaxxer.hikari.HikariConfig - Failed to load driver class mysql from HikariConfig class classloader org.springframework.boot.loader.LaunchedURLClassLoader@6433a2
2019-06-13 14:56:18 [http-nio-6688-exec-3] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException: Failed to load driver class mysql in either of HikariConfig class loader or Thread context classloader] with root cause
java.lang.RuntimeException: Failed to load driver class mysql in either of HikariConfig class loader or Thread context classloader
at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:485)
at com.shzlw.poli.service.JdbcDataSourceService.lambda$getDataSource$1(JdbcDataSourceService.java:75)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4876)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3528)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2277)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2154)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2044)
at com.google.common.cache.LocalCache.get(LocalCache.java:3952)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4871)
at com.shzlw.poli.service.JdbcDataSourceService.getDataSource(JdbcDataSourceService.java:65)
at com.shzlw.poli.rest.JdbcQueryWs.queryComponent(JdbcQueryWs.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

关于drill through的问题

在Report中定义drill through,运行时点击进入钻取的report,table的数据查询范围是全部,钻取条件不起作用,只有点击apply filters才能起作用,钻取的参数在url中能够看到。

源码启动

我下载了你的源码,但是在启动过程中并没有反应.
image

为什么将p_report、p_component、p_canned_report中的json类型改为了varchar?

0.9.0中postgresql的p_report、p_component、p_canned_report表中定义了相关json类型,虽然有bug,但是修正下即可,例如ReportDao的insert:
PGobject jsonObject = new PGobject();
jsonObject.setType("json");
try {
jsonObject.setValue(style);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
params.addValue(Report.STYLE, jsonObject);
0.9.1中将相关json类型都变更为varchar了,这样做会产生一些问题:
长度限制、varchar不能像json那样进行检索等等

GeneratedKeyHolder.getKey异常

DB:postgres

创建报表、数据源、群组时报异常:
The getKey method should only be used when a single key is returned. The current key entry contains multiple keys:

创建用户时没有问题。

原因:
创建时会返回table的所有列,直接通过keyHolder.getKey().longValue()就会报异常,
所以其他的dao中都应该按照userdao的代码修改下:
KeyHolder keyHolder = new GeneratedKeyHolder();
npjt.update(sql, params, keyHolder, new String[] { User.ID});
return keyHolder.getKey().longValue();
而不是
KeyHolder keyHolder = new GeneratedKeyHolder();
jt.update(connection -> {
PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, name);
return ps;
}, keyHolder);
return keyHolder.getKey().longValue();

关于源码启动

eclipse加载项目源码后,怎么通过run spring boot app的形式启动?或者有相关说明不?
想通过二次开发追加些内容,通过ide进行调试。
不胜感激。

start.sh has DOS line endings

It has newline + carriage return line endings. It should have Unix line endings since it is a shell script.

$ cat -vet start.sh
#!/bin/sh^M$
set -e^M$
^M$
java -jar poli-0.9.0.jar --spring.config.name=application,poli^M$
$ dos2unix start.sh
dos2unix: converting file start.sh to Unix format...
$ cat -e start.sh
#!/bin/sh$
set -vet$
$
java -jar poli-0.9.0.jar --spring.config.name=application,poli$

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.