mvn clean、mvn install 和 mvn clean install 之间的区别

ngu*_*anh 5 java maven

我在我的项目中使用 Maven。如果我的项目不使用某些本地资源,这不是问题。因此,我按照本指南 /sf/answers/4310368121/ 将本地 jar 复制到本地 Maven 存储库并由 Maven 进行验证。

正如您所看到的,在 中maven-install-plugin,我设置为在clean阶段安装本地存储库。这意味着mvn clean,maven 会将我的 jar 复制到 maven 本地存储库。

问题是,如果我分别运行mvn cleanmvn install两个命令 => 没有问题如果我运行mvn clean install=> 构建失败,如日志所示

Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project xxxx:xxxx:war:0.0.1-SNAPSHOT: Failure to find org.xxxx:xxxx-ws:jar:1.0.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
Run Code Online (Sandbox Code Playgroud)

看起来默认情况下,maven 总是执行以下顺序:验证>编译>清理>安装。我也尝试过“mvn clean validate”,但错误仍然发生。

感谢您的阅读。

JF *_*ier 5

这个问题不太清楚,但我的解释如下:

OP 希望通过使用自动添加对本地存储库的依赖项install:install-file。然后OP想要使用该依赖关系。mvn clean如果和mvn install单独运行,则此方法有效,但如果运行 ,则无效mvn clean install

原因如下:

Maven 在流程开始时解决依赖关系。因此,在执行cleanof之前,依赖关系就已经解决了。mvn clean install

这尤其意味着您无法在同一 Maven 运行中安装和解析依赖项。

但是,如果您首先运行mvn clean(安装依赖项)然后运行mvn install(使用依赖项),则一切都很好。