首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖项的Maven属性标记和版本

依赖项的Maven属性标记和版本
EN

Stack Overflow用户
提问于 2016-06-20 02:32:12
回答 1查看 3.8K关注 0票数 1

当我从pom文件的属性部分中定义的键中的依赖项使用版本时,依赖项不会被下载,但是当我硬编码依赖项的版本时,依赖项将被下载。

代码语言:javascript
复制
<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>

对于上面的块,当我运行mvn干净测试时,控制台中的错误显示为:-

代码语言:javascript
复制
[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]

完全pom.xml

代码语言:javascript
复制
<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 0.xsd"> 4.0.0 com.manish.cucumber MavenCucumber jar 1.0-快照MavenCucmber http://maven.apache.org

代码语言:javascript
复制
<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>

我使用的Maven版本是Maven-3。

为什么maven试图从url中获取依赖项,如下所示:

repo.maven.apache.org/maven2/info/cukes/cucumber-java/{cucumber-version}/cucumber-java-{cucumber-version}.pom

为什么不用在属性标记中定义的1.2.4替换{黄瓜-version}?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 03:36:21

看来你的语法不对。它应该以$符号作为前缀。

将${junit-version}改为{junit-version}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37913895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档