安装ofbiz+tomcat4.1+oracle

03-06-10 fishandfly
ofbiz安装

这个文章描述的是安装ofbiz在oracle+tomcat环境

ofbiz2.11提供的缺省的web server是jetty,由于我比较习惯tomcat,因此打算把他转移到tomcat上来。

ofbiz2.11提供的却省的数据库是hsql的,用webtools,转移他的数据库是非常方便的,这里我介绍如何按装到oracle中,

同样的方法我也在mysql中测试通过了。

1。下载ofbiz2.11,可以通过www.ofbiz.org下载,不过需要代理,也可以直接到http://sf.net上面查找ofbiz项目下载。

2。下载tomcat , 建议使用tomcat4.1.24,曾经在网上看到过有人介绍tomcat.4.1.7之前的版本运行ofbiz时,taglib的处理非常慢,

之后的版本就没有这个问题了。tomcat可以到www.apache.org处下载。

3。安装oracle,理论上数据库可以是任何支持jdbc的数据库,我使用的是oracle8.17.

3.1 建立oracle表空间

create tablespace ofbiz

datafile 'd:\orant\oradata\ofbiz.dbf' size 2m

autoextend on next 2m maxsize unlimited;

3.2 建立用户

create user ofbiz

identified by ofbiz

default tablespace ofbiz;

grant connect,resource to ofbiz;

测试用户

connect ofbiz/ofbiz;

4。安装ofbiz

4.1 设置环境变量

JAVA_HOME

ANT_HOME

CATALINA_HOME

OFBIZ_HOME

4.2 自动安装

ofbiz 已经准备了一个ant脚本,它可以自动安装ofbiz到。

在OFBIZ_HOME中有一个build.xml,执行ant install即可。

但是这个自动脚本有的时候执行时会出错!如果出错,请看4。3手工安装。

4.3 手工安装

4。3。1

复制OFBIZ_HOME\commonapp\etc\目录下面的所有文件到CATALINA_HOME\share\classes中。

复制OFBIZ_HOME\commonapp\lib\目录下*.jar到CATALINA_HOME\share\lib中。

复制OFBIZ_HOME\core\lib\目录下*.jar到CATALINA_HOME\share\lib中。

复制OFBIZ_HOME\lib\目录下*.jar到CATALINA_HOME\share\lib中。

注意OFBIZ_HOME\lib\中的jar文件是按目录分门别类存放的,复制到CATALINA_HOME\share\lib需要去掉所有目录,把所有jar都放到lib目录下。

4。3。2

编辑CATALINA_HOME\share\classes\entityengine.xml

查找

<datasource name="localoracle"

helper-class="org.ofbiz.core.entity.GenericHelperDAO"

field-type-name="oracle"

check-on-start="true"

add-missing-on-start="true"

join-style="theta-oracle">

<sql-load-path path="commonapp/db" prepend-env="ofbiz.home"/>

<sql-load-path path="ecommerce/etc" prepend-env="ofbiz.home"/>

<inline-jdbc

jdbc-driver="oracle.jdbc.driver.OracleDriver"

jdbc-uri="jdbc:oracle:thin:@127.0.0.1:1521:ofbiz"

jdbc-username="ofbiz"

jdbc-password="ofbiz"

isolation-level="ReadCommitted"/>

</datasource>

将jdbc部分改成对应的参数。

查找

delegator name="default" entity-model-reader="main"......

group-map group-name="org.ofbiz.commonapp" datasource-name="localhsql"

delegator

改成

delegator name="default" entity-model-reader="main"......

group-map group-name="org.ofbiz.commonapp" datasource-name="localoracle"

delegator

4.3.3

复制OFBIZ_HOME\setup\catalina41\bin中的ofbiz.bat到CATALINA_HOME\bin中

复制OFBIZ_HOME\setup\catalina41\conf中的server.xml到CATALINA_HOME\conf中

注意,这里的server.xml也可以不复制,这里面就是配置ofbiz的Context,手工更新到server.xml中即可

另外注意,ofbiz默认ofbiz和tomcat在一个目录下,因此在server.xml中,他的context路径都是用的相对路径

例如

<Context path="/content" docBase="../../ofbiz/content/webapp" debug="0" reloadable="true">

在OFBIZ_HOME\setup\catalina41\bin\runofbiz.bat

内容如下:

ofbiz.bat run

5.0 运行runofbiz.bat

他首先调用ofbiz.bat设置环境变量,然后启动tomcat.

启动tomcat的时候,ofbiz的DatabaseUtils会检查数据库中是否已经存在系统的表,没有就会自动创建的,一般的创建过程不会出错误的。

如果有错误产生,请察看CATALINA_HOME\logs中的日志文件,一般都是少某个jar,看到少哪个到OFBIZ_HOME中找到后复制到CATALINA_HOME\share\lib中

6.0 如果建立表都一切顺利就可以打开IE,然后输入URL

http://localhost:8080/webtools/control/main

记住要先用webtools导入数据,否则你不能用admin/ofbiz登陆的!

在这里 http://localhost:8080/webtools/control/install

直接点Load Data按钮

执行完毕后

到这里

http://localhost:8080/webtools/control/checkLogin/install

用admin/ofbiz登陆,登陆成功证明安装完毕,不成功就察看一下日志文件。

在4。3。2步中,如果要安装到其他的数据库,可以修改其他数据库的jdbc连接配置,ofbiz为大部分支持jdbc的数据库提供的例子。

同样的方法也可以实施ofbiz到resin中,不过没有测试!:)

测试环境

SERVER : PII 300 , 512M

PIII733 , 256M

windows 2000 advance server

ofbiz 2.11

oracle 8.1.7

mysql 4.0 max

tomcat 4.1.24

cc
2003-06-10 10:35
十分感谢,希望此贴加入精华

xiao
2003-06-10 16:32
good

正遇上这类问题

murphyli
2003-06-17 11:57
请教是不是oracle的sid 必须是ofbiZ呢?谢谢

yourweily
2003-06-24 13:56
楼上的主阿

俺按照你的提示步步操作,可是启动后访问web页面就提示如下:

我已经把所有的类都加到里面了

俺用的是jdk1。4 和mysql

java.lang.NoClassDefFoundError

at sun.reflect.GeneratedConstructorAccessor38.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:274)

at java.lang.Class.newInstance0(Class.java:306)

at java.lang.Class.newInstance(Class.java:259)

at org.ofbiz.core.entity.TransactionFactory.getTransactionFactory(TransactionFactory.java:68)

at org.ofbiz.core.entity.TransactionFactory.getConnection(TransactionFactory.java:99)

at org.ofbiz.core.entity.ConnectionFactory.getConnection(ConnectionFactory.java:53)

at org.ofbiz.core.entity.jdbc.DatabaseUtil.getConnection(DatabaseUtil.java:56)

at org.ofbiz.core.entity.jdbc.DatabaseUtil.getTableNames(DatabaseUtil.java:658)

at org.ofbiz.core.entity.jdbc.DatabaseUtil.checkDb(DatabaseUtil.java:71)

at org.ofbiz.core.entity.GenericDAO.checkDb(GenericDAO.java:1295)

at org.ofbiz.core.entity.GenericHelperDAO.checkDataSource(GenericHelperDAO.java:245)

at org.ofbiz.core.entity.GenericDelegator.(GenericDelegator.java:147)

at org.ofbiz.core.entity.GenericDelegator.getGenericDelegator(GenericDelegator.java:89)

at org.ofbiz.core.control.ControlServlet.getDelegator(ControlServlet.java:350)

at org.ofbiz.core.control.ControlServlet.init(ControlServlet.java:73)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)

at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:668)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)

at java.lang.Thread.run(Thread.java:536)

猜你喜欢
2Go 1 2 下一页