当前位置: 首页 > 知识库问答 >
问题:

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

白翔
2023-03-14

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

<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>
[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]
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<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>

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

为什么不是用在properties标记中定义的1.2.4替换{cucumber-version}呢

共有1个答案

芮星海
2023-03-14

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

用${junit-version}代替{junit-version}

 类似资料:
  • 本文向大家介绍wpf 标准依赖项属性,包括了wpf 标准依赖项属性的使用技巧和注意事项,需要的朋友参考一下 示例 何时使用 几乎所有的WPF控件都大量使用依赖属性。依赖项属性允许使用许多仅标准CLR属性无法使用的WPF功能,包括但不限于对样式、动画、数据绑定、值继承和更改通知的支持。 TextBox.Text属性是需要标准依赖项属性的简单示例。在这里,如果Text是标准的CLR属性,则无法进行数据

  • 我很难理解WPF中的依赖属性,可能是因为我要找的用例非常具体,没有很好的文档化。 我有一个自定义控件,看起来像这样(请忽略所有可怕的代码,这是暂时的!): 我这样称呼它在我的主窗口内: 我只想在主窗口中的自定义控件调用中说: (其中fillPercent是另一个脚本中不需要担心的内容)。该控件将被展开,因此需要保持为自定义控件。我明白我可能需要依赖属性,但在尝试了许多不同的方法后,我无法弄清楚如何

  • 我用我的真实情况来说明问题。 我使用logback 1.0.1进行日志记录,它包含SLF4J 1.6.4作为依赖项。我还为遗留日志API(Java . util . logging、log4j和commons-logging)使用SLF4J API桥,它们不是显式的依赖关系。这些也必须(最好)是版本1.6.4。 为了使我的pom.xml尽可能整洁和无错误,我想强制这些API桥接器与SLF4J版本相

  • 我在Netbeans-8工作 我正在构建两个项目。Project1是Project2的依赖项。 如果我在两个项目中都做了更改1 我碰巧经常更改项目1。在我的IDE中使用maven之前,我习惯于构建一个依赖项目,也构建它的依赖项。我的意思是这就是构建系统中的依赖项的全部含义... 如何解决这个问题,以便project2上的“使用依赖项构建”也构建project1?

  • MVNRepository通常为每个依赖项列出“版本”和“更新”。 如果我发布自己的包,如何指定“更新”版本 Maven在解决传递依赖时使用了哪个依赖项?所以如果我的包依赖于包A,它依赖于包B,版本=1.0,更新=1.1。我会得到哪个版本的B?

  • 问题内容: 我正在使用BOM表来从另一个项目导入依赖关系到我的项目,并且我需要一种方法来引用已在所述BOM表中声明的依赖项版本。到目前为止,我已经尝试将依赖项版本作为BOM中的属性列出,但是这种方法失败了,因为属性不会随BOM一起导入。 我已经看到了Dependency Plugin的dependency:properties目标 几乎可以 完全满足我的需求,但是除了给我完整的工件路径之外,我还需