进销存系统(1):开源ECP编译安装

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/49643521 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys1,关于ECPECP 是基于jfinal、avalon、bootstrap、jqGrid、snaker工作流开发的客户关系及进销存财

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/49643521 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于ECP

ECP 是基于jfinal、avalon、bootstrap、jqGrid、snaker工作流开发的客户关系及进销存财务系统。
项目地址:
http://www.oschina.net/p/ecp
代码:
http://git.oschina.net/loyin/ECP

感觉上还不错。

2,编译安装

下载代码:

git clone https://git.oschina.net/loyin/ECP.git

使用idea编译maven非常方便,编译eclipse工程还不知道哪里下手了。
首先添加lib文件至工程。(在工程属性里面,少一个servlet jar否则编译出错。)

选择工程,右键编译。

编译好的class文件直接在ROOT/WEB-INF/classes下了。
然后把ROOT文件夹放到tomcat下面。

3,安装数据库

ECP使用postgresql,估计mysql也能跑,个别sql需要修改下。
不麻烦了,直接装一个postgresql

#yum -y install postgresql-server postgresql
#postgresql-setup initdb
Initializing database ... OK
#service postgresql start
增加开机启动
#systemctl enable postgresql

登陆postgresql,和mysql不同,切换到postgres用户再登陆

$ psql -U postgres
psql (9.2.13)
Type "help" for help.

postgres=# 

增加用户&数据库&赋权限

postgres=# create user ecp with password 'ecp';
CREATE ROLE
postgres=# create database ecp owner ecp;
CREATE DATABASE
postgres=# grant all privileges on database ecp to ecp;
GRANT
postgres=# 

修改配置文件,账号本地登陆
vi /var/lib/pgsql/data/pg_hba.conf
修改:trust可以不用密码登陆。

# "local" is for Unix domain socket connections only
local   all             all                                  trust
# IPv4 local connections:
host    all             all             127.0.0.1/32          trust
host    all             all             192.168.1.0/24           ident

postgresql其他命令:(和mysql不一样没用show命令)

\password命令(设置密码)和\q命令(退出)。
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

比如查看全部数据库:

\l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 ecp       | ecp      | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/ecp              +
           |          |          |             |             | ecp=CTc/ecp
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

数据文件导入:(工程目录:./doc/数据备份/postgresql_20141104.backup)
必须使用 postgres账号将数据导入。

pg_restore -U postgres -d ecp < postgresql_20141104.backup 

4,修改配置文件

修改配置文件:
config.properties
mail.saveDir=/data/tomcat-ecp/webapps/ROOT/upload/mainBox

log4j.properties
log4j.appender.file.File=/data/tomcat-ecp/logs/ecp_log.log

5,报错

java.util.MissingResourceException: Can’t find bundle for base name i18n/dic, locale en_US

04-Nov-2015 23:05:26.090 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.filterStart Exception starting filter jfinal
 java.util.MissingResourceException: Can't find bundle for base name i18n/dic, locale en_US
        at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
        at java.util.ResourceBundle.getBundle(ResourceBundle.java:795)
        at net.loyin.kit.I18N.init(I18N.java:53)
        at net.loyin.cfg.JFWebConfig.configConstant(JFWebConfig.java:63)
        at com.jfinal.core.Config.configJFinal(Config.java:46)
        at com.jfinal.core.JFinal.init(JFinal.java:67)
        at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:64)
        at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4615)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5222)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1069)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1719)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

在服务器上面一般都是 英文的,这个需要读取系统语言。
启动失败:找不到配置文件
resourceBundleKey: dic_en_US

在tomcat/bin目录下增加setenv.sh:

export LC_ALL=zh_CN 
export LANG=zh_CN
echo '######################## lang ########################'
echo $LANG

修改启动成功:

resourceBundleKey:      dic_zh_CN
add dic_zh_CN
resourceBundleKey:      msg_zh_CN
add msg_zh_CN
resourceBundleKey:      err_zh_CN

数据库表权限不对。
org.postgresql.util.PSQLException: ERROR: permission denied for relation em_salegoal

org.postgresql.util.PSQLException: ERROR: permission denied for relation em_salegoal
com.jfinal.plugin.activerecord.ActiveRecordException: org.postgresql.util.PSQLException: ERROR: permission denied for relation em_salegoal
        at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:48)
        at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:171)
        at net.loyin.jfinal.plugin.AutoTableBindPlugin.start(AutoTableBindPlugin.java:53)
        at com.jfinal.core.Config.startPlugins(Config.java:85)
        at com.jfinal.core.Config.configJFinal(Config.java:48)
        at com.jfinal.core.JFinal.init(JFinal.java:67)
        at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:64)
        at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4615)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5222)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1069)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1719)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.postgresql.util.PSQLException: ERROR: permission denied for relation em_salegoal

解决:使用postgres用户登陆,将ecp改成超级用户

alter user ecp with superuser;

本地可以访问,远程访问不了。 Connection refused
修改配置文件:config.properties
服务器必须有一个domain,默认是127.0.0.1。

server_domain=192.168.1.xxxx

4,启动成功


用户名:loyin 密码:123456

oa模块有点问题,有几个地方有点小bug。
毕竟新项目而且哥们是业余时间搞的,2014年11月04日开源的,是MIT开源协议。
项目的数据库关系图:

目录说明:

src:项目启动等配置相关
Config:配置文件
Core:核心类代码
Crm:客户关系管理
Oa:办公
Sso:系统基础
Test:测试类代码
Scm:进销存
Hr:人力资源
Fa:财务
Em:企业管理
Wf:工作流

5,总结

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/49643521 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

国人开源的进销存系统,必须给个赞。
去年开发的,部分地方还有小问题。
但是已经非常不错了。里面用了很多新技术。
框架非常全了,非常方便二次开发。可惜文档不是很全面。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
安全 数据库 数据安全/隐私保护
|
6月前
|
监控 关系型数据库 MySQL
红帽 9 zabbix 安装流程
Zabbix是一个监控软件,用于确保企业服务架构的安全运行,具备灵活的告警机制和分布式监控能力。它由Server、Web页面、数据库、Proxy和Agent五个组件组成。工作流程中,Agent在目标设备上收集数据,Server存储和处理数据,Web页面提供监控信息。Zabbix支持主动和被动两种数据收集模式。在Redhat 9.2环境下,安装包括关闭防火墙、设置SELinux、安装MySQL、创建Zabbix数据库和用户、安装Zabbix RPM包及配置服务。完成安装后,通过Web界面使用Admin账号和预设密码zabbix登录。
151 2
|
Windows
安装企业级的dokuwiki文档系统
在企业中,知识技能的积累与文档是体现一个公司深度的重要因素,所以搭建wiki文档系统时非常必要的,这里推荐dokuwiki。因为公司只剩下window系统了,所以本文将介绍windows系统下的安装方式。
322 0
安装企业级的dokuwiki文档系统
|
Ubuntu 测试技术 Python
全球第一免费开源ERP Odoo Ubuntu最佳开发环境独家首发分享
起源 近年来随着国内的互联网经济的快速腾飞,诞生了很多开源软件创造的市场价值以及企业价值神话,特别是对于企业ERP领域,一直以来都是高昂的国内外产品充实,国内的中小成长型企业越来越需要一套好看又能打,死磕性价比的开源替代解决方案用于解决企业的管理与投入并存的信息化难题,从2011年开始由开源智造为代表的最早国内开源软件服务企业为这夙愿贴补国内空白服务领域而扎根至今。
3164 0
|
vr&ar 容灾 虚拟化
|
Web App开发 关系型数据库 MySQL