我看到许多人pom文件里面dependency没有写version,但是我不行会报错

发布于 2022-09-12 13:55:23 字数 839 浏览 15 评论 0

比如著名的start.spring.io
默认的生成的就没有,但是我电脑不行

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

是不是maven也是看脸的啊! 还有说一句,如果我的dependency添加version,编译后,把version删除。 也是可以编译通过的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情归归情 2022-09-19 13:55:23

没写 version 的,是通过 dependencyManagement 来完成版本管理的。你可以仔细看一下 start.spring.io 生成的项目的父项目,pom.xml 里一定有 dependencyManagement项,
比如,生成项目的父项目:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

打开这个 spring-boot-starter-parent, 你会看到:

...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.4.1</version>
</parent>

再打开这个 spring-boot-dependencies

你会看到:

<dependencyManagement>
<dependencies>
    <dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-amqp</artifactId>
    <version>${activemq.version}</version>
    </dependency>
<dependency>
...
</dependencyManagement>       

相信你已经看明白了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文