为啥我必须从我的 pom 中删除一个依赖项,然后再将其添加回来并安装以获取最新版本的 maven 包?
Posted
技术标签:
【中文标题】为啥我必须从我的 pom 中删除一个依赖项,然后再将其添加回来并安装以获取最新版本的 maven 包?【英文标题】:why do I have to remove a dependency from my pom before adding it back and installing to get the latest version of my maven package?为什么我必须从我的 pom 中删除一个依赖项,然后再将其添加回来并安装以获取最新版本的 maven 包? 【发布时间】:2020-11-03 02:03:08 【问题描述】:我在 GitHub 包注册表上托管了一个 Maven 包。
每当我对包进行更新时,我都会运行 mvn deploy
来发布更改,但如果我只是在依赖应用程序上运行mvn install
,它似乎不会安装最新版本的包。只有在删除 pom.xml
然后将更改加载到 IntelliJ 中,然后将其添加回来并运行 mvn install
之后,它似乎才能获得包的新发布。
这是我的settings.xml
文件:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<activeProfiles>
<activeProfile>github</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>github</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>github</id>
<name>GitHub COMPANY NAME Apache Maven Packages</name>
<url>https://maven.pkg.github.com/***********</url>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id>github</id>
<username>TaylorBurke</username>
<password>****************</password>
</server>
</servers>
</settings>
每次发布更改时都需要升级包的版本吗?也许 Maven 存在配置问题?或者这可能是 IntelliJ 中 Maven 插件的本质?
【问题讨论】:
您是否在每次安装之间更改了版本? 在开发的时候使用SNAPSHOT依赖,这样就不用每次都更新版本了。 @khmarbaise 我在依赖应用程序的 pom.xml 中保持版本相同,因为每次进行更改时我都不会更新包中的版本。我应该吗? @CrazyCoder 我目前使用的是 0.0.3-SNAPSHOT 版本 Maven中有一个默认的更新策略(通常设置在settings.xml)。这也应该在 IntelliJ 中配置。或者,您可以更改 IntelliJ 也将拾取的 settings.xml 文件中的行为.. 【参考方案1】:如果您希望 IntelliJ IDEA 更新 sync 上的快照,请选择 this checkbox,如果您不更新版本,请使用 SNAPSHOT
依赖项:
确保单击 Maven 工具窗口中的 重新导入 按钮以同步更改。
【讨论】:
我希望会是这样,因为该框之前没有被选中,但即使在重新启动 IntelliJ 之后它似乎也没有解决问题...... 您是否强制重新导入?以上是关于为啥我必须从我的 pom 中删除一个依赖项,然后再将其添加回来并安装以获取最新版本的 maven 包?的主要内容,如果未能解决你的问题,请参考以下文章
为啥有排除 pom.xml / maven 中依赖项的依赖项的选项?
为啥 Intellij 在 pom.xml 中找不到任何 Maven 依赖项?