命令行上的 Maven 依赖项更新

Posted

技术标签:

【中文标题】命令行上的 Maven 依赖项更新【英文标题】:Maven dependency update on commandline 【发布时间】:2014-02-09 22:50:30 【问题描述】:

我有一个构建在 Eclipse 命令行上的 Maven 项目,其中一个依赖项不断变化。我听说混合 m2e 插件和命令行是一个坏主意,如何更新对命令行的依赖关系。此外,我尝试在命令行上运行mvn eclipse:eclipse,它在 Eclipse 中删除了依赖项文件夹。

【问题讨论】:

请注意:maven-eclipse-plugin (eclipse:eclipse) 和 m2e 不兼容。 【参考方案1】:
mvn clean install -U

-U 表示强制更新依赖。

另外,如果你想将项目导入eclipse,我先运行:

mvn eclipse:eclipse

然后运行

mvn eclipse:clean

似乎对我有用,但这只是我的便士价值。

【讨论】:

【参考方案2】:

如果您只想重新加载/更新依赖项(我假设,不断更改意味着您自己更新的快照或本地依赖项),您可以使用

mvn dependency:resolve

【讨论】:

【参考方案3】:

简单地在线运行您的项目,即mvn clean install。它会获取您在 pom.xml 中提到的所有最新依赖项并构建项目

【讨论】:

这是否意味着我还必须将 eclipse 中的项目作为 maven 项目重新导入? @cobie 实际上 mvn eclipse:eclipse 必须获取最新的依赖项,正如你所说使用我建议的命令不起作用,只需在 eclipse 中刷新你的项目,就足够了【参考方案4】:
mvn clean install -U 

还要确保如果您在 *** 后面有依赖项,则您已连接到该 ***

【讨论】:

【参考方案5】:

我最近偶然发现了 IntelliJ IDEA 中的一个错误。出现这种情况,当我在 git 中签出一个在 pom.xml 中使用旧依赖版本的旧分支时。

我的代码库中充斥着java: package com.foo.bar does not exist

java: cannot find symbol
  symbol:   class Baz
  location: class com.foo.bar

错误消息。

解决办法是在maven标签中重新加载项目。

我尝试将其自动化,但似乎是因为 IntelliJ 没有注意到这些文件需要被索引。

希望这对某人有所帮助。如果有人知道如何通过控制台或作为预运行任务进行更新,请告诉我。

【讨论】:

【参考方案6】:
mvn -Dschemaname=public liquibase:update

【讨论】:

以上是关于命令行上的 Maven 依赖项更新的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA 无法识别 Maven 依赖项中指定的类

在命令行上更新nunit-console

maven会在啥时候更新所有jar

[ClassNotFoundException在命令行上独立运行Liquibase

vim 从嫌弃到依赖(20)——global 命令

我如何向 Maven 询问默认存储库的列表?