1

I got Spring Data REST 1.1.0.M1 working, but would like to try version 2.0.

Here's my POM:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>ca.mynamespace</groupId>
    <packaging>war</packaging>
    <artifactId>rested_development</artifactId>
    <version>0.1.0</version>
    <name>rested_development</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <slf4j.version>1.7.3</slf4j.version>
        <spring.version>3.2.7.RELEASE</spring.version>
    </properties>

    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>http://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <dependencies>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>1.3.5.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-rest-webmvc</artifactId>
            <version>1.1.0.M1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.hateoas</groupId>
            <artifactId>spring-hateoas</artifactId>
            <version>0.8.0.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.3-1100-jdbc41</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.2.2.Final</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.2.2.Final</version>
            <exclusions>
                <exclusion>
                    <groupId>cglib</groupId>
                    <artifactId>cglib</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>dom4j</groupId>
                    <artifactId>dom4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>xml-apis</groupId>
                    <artifactId>xml-apis</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
            </plugin>

        </plugins>
    </build>
</project>

When I try SDR 2.0.0.R1, I get ClassNotFoundException: org.springframework.data.web.config.HateoasAwareSpringDataWebConfiguration and when I try HATEOAS 0.9, I get IllegalArgumentException: Content must not be a collection! Use Resources instead!

Oliver Drotbohm
  • 80,157
  • 18
  • 225
  • 211
Neil McGuigan
  • 46,580
  • 12
  • 123
  • 152
  • This is a very vague question. Would you mind adding a bit more information? Show the repository you added, show the general declaration of the entity. Show, what exactly is not working. What do you expect to see, what is it that you think is missing/broken? – Oliver Drotbohm Feb 17 '14 at 10:11
  • @OliverGierke updated my question with POM. thx – Neil McGuigan Feb 17 '14 at 10:22

1 Answers1

2

You need to upgrade to the correct set of dependency versions. If you want to upgrade to Spring Data REST 2.0, you also need to upgrade to the according versions of other Spring Data modules contained in the release train. So you'll need:

  • Spring Data REST 2.0.0.RC1
  • Spring Data JPA 1.5.0.RC1 (as indicated in the POM of Spring Data REST)
  • Spring HATEOAS 0.9.0.RELEASE (also indicated in the POM of Spring Data REST)
Oliver Drotbohm
  • 80,157
  • 18
  • 225
  • 211