2016-06-20 22 views
0

Wenn ich Version für die Abhängigkeiten von den Schlüsseln verwenden, die im Abschnitt Eigenschaften der Pom-Datei definiert sind, werden die Abhängigkeiten nicht heruntergeladen, aber wenn ich die Version für Abhängigkeit hardcodiert die Abhängigkeit wird heruntergeladen.Maven Eigenschaften Tag und Version für die Abhängigkeit

<properties> 
    <cucumber-version>1.2.4</cucumber-version> 
    <junit-version>1.2.4</junit-version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-java</artifactId> 
     <version>{cucumber-version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-junit</artifactId> 
     <version>{cucumber-version}</version> 
     <scope>test</scope> 
    </dependency> 
<dependencies> 

Für den obigen Block, wenn ich ausgeführt wird mvn sauberen Test dann in der Konsole der Fehler wie folgt: -

[ERROR] Failed to execute goal on project MavenCucumber: Could not resolve dependencies for project com.manish.cucumber:MavenCucumber:jar:1.0-SNAPSHOT: Failed to collect dependencies at info.cukes:cucumber-java:jar:{junit-version}: Failed to read artifact descriptor for info.cukes:cucumber-java:jar:{junit-version}: Could not transfer artifact info.cukes:cucumber-java:pom:{junit-version} from/to central (http://repo.maven.apache.org/maven2): Illegal character in path at index 61: http://repo.maven.apache.org/maven2/info/cukes/cucumber-java/{cucumber-version}/cucumber-java-{cucumber-version}.pom -> [Help 1] 

komplette pom.xml
<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"> 4.0.0 com.manish.cucumber MavenCucumber jar 1.0-SNAPSHOT MavenCucmber http://maven.apache.org

<properties> 
    <cucumber-version>1.2.4</cucumber-version> 
    <junit-version>1.2.4</junit-version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-java</artifactId> 
     <version>{junit-version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-junit</artifactId> 
     <version>{junit-version}</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.12.2</version> 
     <configuration> 
      <argLine>-Duser.language=en</argLine> 
      <argLine>-Xmx1024m</argLine> 
      <argLine>-XX:MaxPermSize=256m</argLine> 
      <argLine>-Dfile.encoding=UTF-8</argLine> 
      <useFile>false</useFile> 
     </configuration> 
     </plugin> 
    </plugins> 
</build> 

Die Maven-Version, die ich verwende ist Maven-3

warum die Maven versucht wird, wie unten Abhängigkeit von URL holen: -

repo.maven.apache.org/maven2/info/cukes/cucumber-java/ {Gurken-Version}/Gurke-Java- { Gurken-Version} .pom

warum es nicht die {Gurke-Version ersetzt} mit 1.2.4, die in ihren Eigenschaften definiert ist

Tag

Antwort

1

Sieht aus wie Ihre Syntax nicht korrekt ist. Es sollte mit $ -Symbol vorangestellt werden.

Put $ {junit-Version} statt {junit-Version}

+0

dies gearbeitet .. Ich habe vergessen, $ vor dem Schlüsselnamen in der Version Tag hinzuzufügen. – manishgdev