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