绝对深坑!
当输入gradlew ofbiz
运行之后,如果走到
> Building 91% > :ofbiz
就不动了,并不是配置有问题,而是ofbiz他娘的已经启动了(浪费我接近一天时间)!
有这么坑的吗?好歹给个successful提示啊!
好了,吐槽完毕,言归正传:
其实如果不是要迁移数据库,ofbiz安装还是很简单的,解压,配置环境变量(也可以不配置),运行
gradlew cleanAll loadDefault
加载数据,然后运行
gradlew ofbiz
运行项目就OK了,这里有几个坑写出来跟大家分享一下:
1.mysql版本问题
涉及到数据库就一定要考虑版本匹配的问题,尤其是mysql高版本的几个新特性。
例如驱动器的名称的改变,数据库会返回一个+8h的时间,useSSL状态的判断等等,如果处理不好,会报一些类似乱码的错误(并非全都会报类似乱码的error信息);
2.xml对&解析问题
接着上一个问题,如果要在jdbc的url后面附加&…,就必须用xml的转义字符&;
(一定要有分号),否则测试时候会报错。
3.在根目录下配置build.gradle文件,向其中添加JDBC驱动:
compile 'mysql:mysql-connector-java:5.1.46'
版本自己斟酌吧,这段代码插入的位置也很容易找到,在dependencies{}里面,上下文都是compile。
4.有关浏览器
访问:http://127.0.0.1:8080/ecommerce/control/main 或者 https://127.0.0.1:8443/webtools/control/main
的时候,浏览器一般会把这个请求拦截下来,说什么私密链接不安全什么的,不要慌,想办法点击继续访问,就能访问到ofbiz的主页了,还可以尝试登陆,用户名admin,密码ofbiz。
好了,就这些,折腾我一天。
附上我的配置代码:
<debug-xa-resources value="false" /> <!-- see https://issues.apache.org/jira/browse/OFBIZ-4282 for more -->
<delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
<group-map group-name="org.apache.ofbiz" datasource-name="localmysql"/>
<group-map group-name="org.apache.ofbiz.olap" datasource-nam