ofbiz瘦身
由于ofbiz表特别多,并且没有很多资料供我们参考(至少中文资料是这样),学习起来不知道从那里下手。经过一晚上的学习(当然也有此然半个月的基础),终于把ofbiz的表缩小到只有66个,这样学习起来就方便多了。具体方法如下:
1.在mysql中创建数据库ofbiz,修改ofbiz\framework\entity\config\entityengine.xml文件,
<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.ofbiz" datasource-name="localmysql"/>
</delegator>
<datasource name="localmysql"
helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
field-type-name="mysql"
check-on-start="true"
add-missing-on-start="true"
check-pks-on-start="false"
use-foreign-keys="true"
join-style="ansi-no-parenthesis"
alias-view-columns="false"
drop-fk-use-foreign-key-keyword="true"
table-type="InnoDB"
character-set="latin1"
collate="latin1_general_cs">
<read-data reader-name="seed"/>
<read-data reader-name="demo"/>
<read-data reader-name="ext"/>
<inline-jdbc
jdbc-driver="com.mysql.jdbc.Driver"
jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true"
jdbc-username="root"
jdbc-password="root"
isolation-level="ReadCommitted"
pool-minsize="2"
pool-maxsize="20"/>
<!-- <jndi-jdbc jndi-server-name="localjndi"jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/>-->
</datasource>
2. 将ofbiz\framework\base\config\component-load.xml中的applications,specialpurpose和hot-deploy注释掉,得到结果如下
<component-loader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/component-loader.xsd">
<load-components parent-directory="${ofbiz.home}/framework"/>
<!--<load-components parent-directory="${ofbiz.home}/applications"/>-->
<!--<load-components parent-directory="${ofbiz.home}/specialpurpose"/>-->
<!--<load-components parent-directory="${ofbiz.home}/hot-deploy"/>-->
</component-loader>
3. 将ofbiz\framework\component-load.xml文件中的workflow, testtools和example注释掉,得到结果如下
<component-loader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/component-loader.xsd">
<load-component component-location="${ofbiz.home}/framework/geronimo"/>
<load-component component-location="${ofbiz.home}/framework/entity"/>
<load-component component-location="${ofbiz.home}/framework/catalina"/>
<!-- <load-component component-location="${ofbiz.home}/framework/jetty"/> -->
<load-component component-location="${ofbiz.home}/framework/security"/>
<load-component component-location="${ofbiz.home}/framework/datafile"/>
<load-component component-location="${ofbiz.home}/framework/minilang"/>
<load-component component-location="${ofbiz.home}/framework/common"/>
<load-component component-location="${ofbiz.home}/framework/service"/>
<load-component component-location="${ofbiz.home}/framework/entityext"/>
<load-component component-location="${ofbiz.home}/framework/webapp"/>
<load-component component-location="${ofbiz.home}/framework/guiapp"/>
<load-component component-location="${ofbiz.home}/framework/widget"/>
<load-component component-location="${ofbiz.home}/framework/appserver"/>
<!-- <load-component component-location="${ofbiz.home}/framework/workflow"/>-->
<!-- load-component component-location="${ofbiz.home}/framework/shark"/>-->
<!-- <load-component component-location="${ofbiz.home}/framework/testtools"/>-->
<load-component component-location="${ofbiz.home}/framework/webtools"/>
<load-component component-location="${ofbiz.home}/framework/images"/>
<!--<load-component component-location="${ofbiz.home}/framework/example"/>-->
</component-loader>
4. 打开doc并在ofbiz目录下执行命令:
ant clean-all
ant run-install
startofbiz.bat
7,https://localhost:8443/webtools/
5. 执行第4步之后,在user_login表中只有system一条记录,但是该记录的password字段是空的,需要修改为“ofbiz”加密代码,另外enable字段值为“n”,表示该用户不可用,需要将它的值改为“Y”,执行的两个SQL语句如下:
update user_login set current_password = '47ca69ebb4bdc9ae0adec130880165d2cc05db1a';
update user_login set enabled='Y';
6,启动ofbiz,现在只有webtools可用(http://localhost:8080/webtools),用户名/密码:system/ofbiz