This page describes what needs to be configured for a website using Hippo Cocoon and maven.
- Create a folder persistence with the following files from the Hippo Community apps
- persistence.properties
- persistenceApplicationContext.xml, comment the import elements at the bottom you don't need
- Copy the variables in project.properties from the Hippo Community Apps to your build.properties
- Fill in the values in build.properties
- Set the following values to false. These should be managed from Hippo CMS.
hca.jpox.autocreatetables=false hca.jpox.autocreateschema=false hca.jpox.autocreatecolumns=false hca.jpox.autocreateconstraints=false
- Copy maven.xml to the root folder of your project, at the level of project.properties or build.properties
- Change the file attribute to the path in your site project. This path occurs twice.
<ant:copy file="CHANGE THIS" todir="DO NOT CHANGE"/> - Add the following dependencies to project.xml:
<dependency> <groupId>hippo</groupId> <artifactId>hippo-community-apps</artifactId> <version>1.01.00</version> <type>jar</type> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <!-- JDO/JPOX dependencies --> <dependency> <groupId>jpox</groupId> <artifactId>maven-jpox-plugin</artifactId> <version>1.1.7</version> <type>plugin</type> </dependency> <dependency> <groupId>jpox</groupId> <artifactId>jpox</artifactId> <version>1.1.7</version> <properties> <classloader>root</classloader> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <dependency> <groupId>jpox</groupId> <artifactId>jpox-enhancer</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>jpox</groupId> <artifactId>jpox-springframework</artifactId> <version>1.1.3</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <dependency> <groupId>javax.jdo</groupId> <artifactId>jdo2-api</artifactId> <version>2.0</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <dependency> <groupId>jta</groupId> <artifactId>jta</artifactId> <version>1.0.1</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <!-- Spring dependencies --> <dependency> <id>org.springframework:spring</id> <version>2.0</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <dependency> <id>org.springframework:spring-mock</id> <version>2.0</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <dependency> <id>org.springframework:spring-dao</id> <version>2.0</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency> <dependency> <id>org.springframework:spring-jdo</id> <version>2.0</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency>
- Add a dependency for your local database, e.g.
<dependency> <artifactId>mysql-connector</artifactId> <groupId>mysql</groupId> <version>3.1.13</version> <properties> <cocoon.bundle>true</cocoon.bundle> </properties> </dependency>
- Add a file sprint-context-listener.xweb in src/config
<xweb xpath="/web-app" unless="comment()[contains(., 'Spring context loader listener')]" insert-before="servlet"> <!-- Spring context loader listener --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </xweb>
- Add a file spring-context-param.xweb to src/config
<xweb xpath="/web-app" unless="comment()[contains(., 'Location of the Spring application context configuration file')]" insert-before="filter"> <!-- Location of the Spring application context configuration file --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:persistenceApplicationContext.xml </param-value> </context-param> </xweb>
- Build with Maven 1 and run.