包含 Spring Data 时出现 Spring STS 错误

Posted

技术标签:

【中文标题】包含 Spring Data 时出现 Spring STS 错误【英文标题】:Spring STS error while including Spring Data 【发布时间】:2012-11-05 22:15:36 【问题描述】:

我是 Java 和 Spring MVC 的新手。我正在尝试通过在 pom.xml 中使用以下代码来包含 Spring Mongodb 数据。

 <dependency>
 <groupId>org.springframework.data</groupId>
 <artifactId>spring-data-mongodb</artifactId>
 <version>1.1.0.BUILD-SNAPSHOT</version>
</dependency> 

但我得到以下错误:

/************ *************** ****************强>/

cvc-complex-type.2.4.a:发现以元素“依赖”开头的无效内容。 '"http://maven.apache.org/POM/4.0.0":parent, "http://maven.apache.org/POM/4.0.0":description, "http://maven" 之一.apache.org/POM/4.0.0”:网址,“http://maven.apache.org/POM/4.0.0”:先决条件,“http://maven.apache.org/POM/4.0.0 ":issueManagement, "http://maven.apache.org/POM/4.0.0":ciManagement, "http://maven.apache.org/POM/4.0.0":inceptionYear, "http://maven .apache.org/POM/4.0.0":mailingLists, "http://maven.apache.org/POM/4.0.0":developers, "http://maven.apache.org/POM/4.0.0 ":contributors, "http://maven.apache.org/POM/4.0.0":licenses, "http://maven.apache.org/POM/4.0.0":scm, "http://maven .apache.org/POM/4.0.0”:组织,“http://maven.apache.org/POM/4.0.0”:构建,“http://maven.apache.org/POM/4.0.0 ":profiles, "http://maven.apache.org/POM/4.0.0":modules, "http://maven.apache.org/POM/4.0.0":repositories, "http://maven .apache.org/POM/4.0.0":pluginRepositories, "http://maven.apache.org/POM/4.0.0":reports, "http://maven.apache.org/POM/4.0.0 ":报告,"http://maven.apache.org/POM/4.0.0" :dependencyManagement, "http://maven.apache.org/POM/4.0.0":distributionManagement' 是预期的。

/************ *************** ***************/

这是我的 pom.xml:

/############################################# ###############################/ org.springframework 弹簧上下文 $org.springframework-version 公共记录 公共记录 org.springframework spring-webmvc $org.springframework-version

    <!-- AspectJ -->
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>$org.aspectj-version</version>
    </dependency>   

    <!-- Logging -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>$org.slf4j-version</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>$org.slf4j-version</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>$org.slf4j-version</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.15</version>
        <exclusions>
            <exclusion>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
            </exclusion>
            <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jdmk</groupId>
                <artifactId>jmxtools</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jmx</groupId>
                <artifactId>jmxri</artifactId>
            </exclusion>
        </exclusions>
        <scope>runtime</scope>
    </dependency>

    <!-- @Inject -->
    <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
    </dependency>

    <!-- Servlet -->
    <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>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <!-- Test -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>2.9.3</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-mongodb</artifactId>
        <version>1.1.0.BUILD-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2.2</version>
    </dependency>


</dependencies>

/############################################# ##############################/

谁能指导我做错了什么以及如何纠正它。

提前致谢

【问题讨论】:

我查看了 mvn 存储库,最大版本号是 1.0.4.RELEASE。您使用的是不同的存储库吗? @Chetter Hummin :我使用了来自以下链接的依赖项:springsource.org/spring-data/mongodb#documentation 请尝试1.1.0.M1作为版本 【参考方案1】:

该错误表明您的 pom.xml 有错误 - 它没有遵循 xml 架构。

没有看到整个文件,很难说出确切的原因,但我猜你错过了开头的 &lt;dependencies&gt; 标签。

这是来自the maven site 的示例。

<project>
  ...
  <properties>
    <mavenVersion>2.1</mavenVersion>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <version>$mavenVersion</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-project</artifactId>
      <version>$mavenVersion</version>
    </dependency>
  </dependencies>
  ...
</project>

【讨论】:

以上是关于包含 Spring Data 时出现 Spring STS 错误的主要内容,如果未能解决你的问题,请参考以下文章

Spring,Hibernate:尝试保存图像时出现无效的 UTF-8 起始字节 0x80 错误

运行 jar 时出现 Spring Boot 错误,但在 IDE 中工作正常(spring-boot-starter-data-jpa)

尝试使用 Spring Data JPA 运行存储过程时出现“类型不能为空”异常

在 Spring-data-rest 中使用 Access-Control-Request-Method 发出 OPTIONS 请求时出现 NullPointerException

使用带有 spring-data 的多个数据源(例如 DynamoDB 和 ElasticSearch)时出现红鲱鱼 Elasticsearch 错误

Spring data r2dbc:与 mysql 连接时出现问题 - 找不到“r2dbcEntityTemplate”