Step 1: Create a Maven Web Project
We start by creating a new Maven web project in NetBeans:
- Open the [New Project] dialog box, e.g. by using File > New Project...
- Select Maven > Maven Web Application and click Next.
- Choose a Project Name (e.g. Guestbook) and select Java EE 5.
- Enter Maven Group Id (e.g. com.objectdb.tutorial.spring).
- Enter Maven Version (e.g. 1.0) and Package (guest).
- Click the Finish button to create the project.
The configuration of the new created project is contained in a pom.xml
file that was created under Project Files in the [Project] window:
To add dependency on the Spring MVC Framework and ObjectDB and to automatically download the required JAR files from Maven repositories - open the pom.xml
file and use copy and paste to replace its content with the following settings:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.objectdb.tutorial.spring</groupId> <artifactId>Guestbook</artifactId> <packaging>war</packaging> <version>1.0</version> <name>Guestbook</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <repository> <id>objectdb</id> <name>ObjectDB Repository</name> <url>https://m2.objectdb.com</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.objectdb</groupId> <artifactId>objectdb</artifactId> <version>2.8.1</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>javax.persistence</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.0.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>3.0.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.0.5.RELEASE</version> </dependency> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.10</version> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2</version> <executions> <execution> <id>enhance</id> <phase>process-classes</phase> <goals> <goal>java</goal> </goals> <configuration> <mainClass>com.objectdb.Enhancer</mainClass> <arguments> <argument>guest.Guest</argument> </arguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.10</version> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> <stopKey>foo</stopKey> <stopPort>9999</stopPort> </configuration> <executions> <execution> <id>start-jetty</id> <phase>pre-integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <scanIntervalSeconds>0</scanIntervalSeconds> <daemon>true</daemon> </configuration> </execution> <execution> <id>stop-jetty</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginManagement> <finalName>Guestbook</finalName> </build> </project>
Now you should have a Maven based NetBeans web project with Spring MVC Framework and ObjectDB/JPA support.
The next step is creating a JPA Entity class.