缺少工件org.springframework:spring-context:jar:$ {org.springframework-version}

时间:2016-04-19 21:11:35

标签: java spring hibernate maven spring-mvc

请问我为什么在我的pom.xml文件中收到此错误

Missing artifact org.springframework:spring-context:jar:${org.springframework-version}

xml文件

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${org.springframework-version}</version>
    <exclusions>
        <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
         </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${org.springframework-version}</version>
</dependency>

2 个答案:

答案 0 :(得分:8)

您看到的${...}被称为Maven property

  

Maven属性是值占位符,就像Ant中的属性一样。可以使用符号${X}在POM内的任何位置访问它们的值,其中X是属性。

在这种情况下,Maven正在尝试访问属性org.springframework-version,但它没有被定义,因此没有任何内容被替换。

您在POM的<properties>部分的帮助下定义了own Maven properties

<properties>
    <org.springframework-version>4.2.5.RELEASE</org.springframework-version> <!-- wanted Spring version -->
    <hibernate.version>5.1.0.Final</hibernate.version> <!-- wanted Hibernate version -->
</properties>

答案 1 :(得分:2)

您很可能没有将弹簧版本号添加到您的pom属性中。把它添加到你的pom。

<properties>
    <org.springframework-version>4.2.5.RELEASE</org.springframework-version>
</properties>

将版本更改为您选择的项目版本。