【问题标题】:Eclipse is not really helpful with maven dependenciesEclipse 对 Maven 依赖项并没有真正的帮助
【发布时间】:2020-04-02 10:53:32
【问题描述】:

每当我想检查我的项目的某些依赖项是否有更新的版本时,最后我总是发现自己在谷歌上搜索它。我的问题与给定版本的 Eclipse 无关,自从我使用这个 IDE 以来就一直存在。

我天真(自然?)期望 POM 编辑器中的内容辅助会列出 ALL 可用版本,但它只列出我的 .m2 文件夹中已经存在的版本。谷歌没有帮助我,在这里也没有找到答案。玩弄设置都没有成功。

谁能给我一个至少关于正确搜索字符串的提示?

编辑

索引下载已启用。 在上面的“谷歌搜索”下,我的意思是搜索 maven.org。加扰代理设置后,maven 日志包含如下行

!MESSAGE Unable to update index for central|https://repo.maven.apache.org/maven2

这给了我最终的想法在哪里搜索。

我不知道索引存储在我的计算机上的什么位置,但https://repo.maven.apache.org/maven2 以某种方式被处理的事实意味着我的 Eclipse应该知道所有版本,但会保守秘密。 p>

【问题讨论】:

标签: eclipse maven dependency-management


【解决方案1】:

执行以下操作以检查可用新版本的依赖关系:

  1. 右键单击 pom.xml 文件并选择Run As > Maven Build...
  2. Edit Configuration 对话框中输入字段 Goals: versions:display-dependency-updates
  3. 点击运行

这将运行一个 Maven 构建,它会在 Console 视图中提示类似以下内容:

...
[INFO] The following dependencies in Dependencies have newer versions:
[INFO]   com.fasterxml.jackson.core:jackson-core .............. 2.9.0 -> 2.10.1
[INFO]   net.sf.saxon:Saxon-HE ............................. 9.9.1-2 -> 9.9.1-6
[INFO]   org.eclipse.jgit:org.eclipse.jgit ...
[INFO]                             4.9.0.201710071750-r -> 5.5.1.201910021850-r
[INFO]   org.junit.jupiter:junit-jupiter-api ................ 5.1.0 -> 5.6.0-M1
[INFO]   org.junit.jupiter:junit-jupiter-engine ............. 5.1.0 -> 5.6.0-M1
[INFO]   org.slf4j:slf4j-simple ........................ 1.7.20 -> 2.0.0-alpha1
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16.936 s
[INFO] Finished at: 2019-12-09T13:59:37+01:00
[INFO] ------------------------------------------------------------------------

还建议在每个依赖项的开头添加一个带有链接的注释,该链接可以通过 Ctrl+click 或通过 F3 打开:

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.0</version>
</dependency>

【讨论】:

  • 虽然它是实际问题的更好解决方法,但这种方法可以在更新依赖项和插件时节省一些时间。
  • @hurjup 您可能会报告功能请求或 - 事件更好 - 向 Eclipse m2e 提出补丁(但请记住,查询版本需要时间,并且可能并不总是有互联网连接)。或者或另外,您可以执行一项 cron 作业,让您知道何时有新版本可用(例如使用 Jenkins)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
相关资源
最近更新 更多