Maven错误:'dependencies.dependency.version'for ...必须是有效版本但是

时间:2013-03-25 12:16:07

标签: eclipse exception maven pom.xml

我使用eclipse juno创建了一个maven项目并编辑了pom文件。当我使用命令提示符“mvn clean install”运行pom文件时,我收到了这个错误。

[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project se.cambio.platform.sdk:sdk-documentation-samples-laki:1      (F:\newWorkspace\sdk-documentation-samples-laki\pom.xml) has 2 errors
[ERROR]     'dependencies.dependency.version' for se.cambio.platform.sdk:sdk-client:jar    must be a valid version but is '${version.sdk.client}'. @ line 38, column 16
[ERROR]     'dependencies.dependency.version' for se.cambio.platform.sdk:sdk-common:jar   must be a valid version but is '${version.sdk.common}'. @ line 44, column 16
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

我的pom文件是,

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-  4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>se.cambio.platform.sdk</groupId>
<artifactId>sdk-documentation-samples</artifactId>
<version>0.8.2</version>
</parent>
<artifactId>sdk-documentation-samples-laki</artifactId>
<version>1</version>
<description>this is a sample project</description>
<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
      <archive>
        <manifestEntries>
          <ModuleClass>se.cambio.laki.client.Module</ModuleClass>
          <BuildVersion>${pom.version}</BuildVersion>
        </manifestEntries>
      </archive>
    </configuration>
  </plugin>
 </plugins>
</build>
<dependencies>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>sdk-client</artifactId>
  <version>${version.sdk.client}</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>sdk-common</artifactId>
  <version>${version.sdk.common}</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>se.cambio.legacy</groupId>
  <artifactId>CDK</artifactId>
  <version>${version.cde}</version>
  <classifier>cdk-internal</classifier>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>commons-dbcp</groupId>
  <artifactId>commons-dbcp</artifactId>
  <version>1.4</version>
  <scope>runtime</scope>
</dependency>
        <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${version.testng}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.8.5</version>
        <scope>test</scope>
    </dependency>
<dependency>
  <groupId>net.sourceforge.jtds</groupId>
  <artifactId>jtds</artifactId>
  <version>1.2.5</version>
  <scope>runtime</scope>
  </dependency>
<dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
        <scope>test</scope>
    </dependency>
 </dependencies>
  </project>

我如何解决此错误?

2 个答案:

答案 0 :(得分:6)

您的项目中未定义属性${version.sdk.client}${version.sdk.common}

添加这样的东西可以解决问题。 (一定要适应课程的版本; 1.0.0.RELEASE可能不是你需要的。)

<properties>
    <version.sdk.client>1.0.0.RELEASE</version.sdk.client>
    <version.sdk.common>1.0.0.RELEASE</version.sdk.common>
</properties>

答案 1 :(得分:2)

添加正确的属性:

<properties>
    <version.sdk.client>1.0</version.sdk.client>
    <version.sdk.common>1.0</version.sdk.common>
</properties>

请确保输入正确的版本。