【问题标题】:Why does Maven 3 give up supporting application $version declaration?为什么 Maven 3 放弃支持应用程序 $version 声明?
【发布时间】:2011-02-19 02:11:10
【问题描述】:

从标题中可以看出,我想问一下Maven3 的情况,pom.xml 中不再支持$version。难道我们真的要在每一个pom.xml和相关配置文件的每一个项目中,一次又一次地写一个常量吗?我们怎样才能避免这样做呢?我们如何使用像 $version 这样的版本控制方法?

【问题讨论】:

    标签: maven-2 versioning version maven maven-3


    【解决方案1】:

    下面的错误显示了$(artifactId}${version}的弃用

    [警告] 表达式 ${artifactId} 已弃用。请用 ${project.artifactId} 代替。 [警告] 表达式 ${version} 是 已弃用。请改用 ${project.version}。 [警告] [警告] 强烈建议修复这些问题,因为它们 威胁到构建的稳定性。 [警告] [警告] 为此 原因,未来的 Maven 版本可能不再支持构建这样的 格式错误的项目。

    警告信息说明了这一点。将${artifactId} 替换为${project.artifactId},将${version} 替换为${project.version}

    【讨论】:

      【解决方案2】:

      表达式${version} 已弃用,您应该改用${project.version},但仍然支持这两种方法,您当然不需要自定义属性。

      以下对我来说适用于 Maven 3:

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>services</artifactId>
        <version>${project.version}</version>
        <type>ejb</type>
      </dependency>
      

      还请看一下我之前对Warning on using project.parent.version as the version of a module in Maven 3 的回答,您使用version 的方式(基于我在另一个答案中的cmets 中看到的)实际上并没有多大意义恕我直言和Maven 3好心建议遵循最佳实践。只需继承版本即可。

      【讨论】:

        【解决方案3】:

        在顶部 &lt;version/&gt; 元素中使用宏和 &lt;parent/&gt; 元素中的版本在 maven 2 中从未工作过。它似乎工作,但除了下游的混乱之外什么也没有。如果你说的不是这个,请澄清你的问题。

        【讨论】:

        • 我说的是 ${projectVersion} 声明。我们可以在之前编写 ${projectVersion} 来代替像 0.0.1 这样的版本,但在 maven3 中,它不支持它。我从它在全新安装时给出的警告中理解了这一点。在控制台上,它清楚地表明“版本必须是常数”。但是,在 maven3 之前,它从未发出过这样的警告。因此,在 maven3 中,版本标签之间的 ${projectVersion} 声明(例如)不再受支持。结果,有没有什么想法或者方法可以让我再次使用它?
        • 在什么内容?在普通依赖中或在 ?
        • ${project.version} 的问题在哪里,通常你不需要。如果您发布新版本,它将自动用新版本替换旧版本。所以我认为不需要宏?
        • 再次嗨,这是顶级 pom.xml 里面的内容; 4.0.0com.mp.myprojectmyprojectmyproject Maven Mainpom2.3${projectVersion} ... ../myproject_domain../myproject_ejb模块> ../myproject_web../myproject_ear
        • 好的,模块中的其他 pom.xml 有: myprojectcom.mp.myproject${ projectVersion}../myproject/pom.xml
        猜你喜欢
        • 2015-04-03
        • 1970-01-01
        • 2021-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-23
        相关资源
        最近更新 更多