2016-04-19 46 views
2

请为什么我收到此错误在我的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

你需要确保你有一个Maven的特性,一个''块定义里面'org.springframework版本'。像' 4.0.0.RELEASE' – Tunaki

+0

不,我没有那个 – Blaze

+0

那么你需要它来添加它:)。 – Tunaki

回答

7

你们看到的是${...}被称为Maven property

Maven的属性是值占位符,就像在Ant属性。它们的值可通过使用${X}表示法的POM中的任何位置进行访问,其中X是属性。

在这种情况下,Maven试图访问属性org.springframework-version,但它没有被定义,所以没有被替换。

定义你的own Maven properties在POM中<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> 
+0

工作就像一个魅力 – Blaze

+0

真棒!非常感谢! – abhiagNitk

1

很可能你没有在你的pom属性中添加春天版本号。将此添加到您的pom中。

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

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