命令行上的 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 依赖项中指定的类