InstallationOC4J
OC4J installation
Choose/prepare an XWiki distribution
The 'web standard hsqldb.war' build will work right out of the box if you are happy for it to store its own HSQL database files in:
...oracle/product/10.1.3.1/OracleAS_1/j2ee/home/database/
Note that the 'database' directory already exists within the OAS install and is used for other things so you may want to change this directory by editing 'hibernate.cfg.xml' in the .war file - see the previous section for more info on this. Or you could edit 'hibernate.cfg.xml' after it has been deployed to the server.
Install XWiki as an OC4J webapp
Install xwiki using the Oracle Enterprise Manager webapplication in an already working OAS installation.
As of 10.1.3.x the Manager webapp is at: http://server_address/em/
Click on an OC4J instance, then the 'Applications' tab, then 'Deploy'.
Choose the xwiki.war file you have downloaded.
On the third deployment page you will be given the option to 'Edit Deployment Plan'. Click this, open the 'war' tree segment on the left, click 'xwiki', scroll down and click 'Edit webAppClassLoader', change 'searchLocalClassesFirst' to 'true', click 'Continue' then 'Ok'.
Configuring XWiki to use the OC4J Logger
Inside your xwiki.war file find WEB-INFcommons-logging.properties
As a default it looks like : org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
To make it use Oracles Logging modify it to look like : org.apache.commons.logging.LogFactory=oracle.core.ojdl.log4j.OracleAppender \
Making the above change also prevents the deployment time error :
[Jun 4, 2009 12:44:46 PM] Operation failed with error: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@15ae0ff for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category) (Caused by org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@15ae0ff for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category))