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

本文的原文连接是: 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
进销存系统(1):开源ECP编译安装_第1张图片
感觉上还不错。

2,编译安装

下载代码:

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

使用idea编译maven非常方便,编译eclipse工程还不知道哪里下手了。
首先添加lib文件至工程。(在工程属性里面,少一个servlet jar否则编译出错。)
进销存系统(1):开源ECP编译安装_第2张图片
选择工程,右键编译。
进销存系统(1):开源ECP编译安装_第3张图片
编译好的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.(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.(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,启动成功

进销存系统(1):开源ECP编译安装_第4张图片
用户名:loyin 密码:123456
进销存系统(1):开源ECP编译安装_第5张图片
oa模块有点问题,有几个地方有点小bug。
毕竟新项目而且哥们是业余时间搞的,2014年11月04日开源的,是MIT开源协议。
项目的数据库关系图:
进销存系统(1):开源ECP编译安装_第6张图片

目录说明:

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

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

你可能感兴趣的:(开源)