1

我的本地 .m2 存储库中有一些 .pom 和 .lastUpdated 文件。我可以删除它们吗?

我需要将 .m2 文件夹放在服务器上,jar 无法在该服务器上下载。

我尝试在 MAVEN_HOME/conf 的 settings.xml 中输入 true,但无济于事。Maven 仍然尝试下载一些 jars(每次都失败)。

我认为这种未经授权的下载的原因是存储库中存在 .pom 和 .lastUpdated 文件。我对么?

4

4 回答 4

1

您可以在 .m2/repository 目录中使用它;

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

于 2020-12-16T08:43:15.387 回答
0

您是否尝试在设置 xml 中将离线设置为 true

如果现在可以正常工作,是因为您将 settings.xml 放在了错误的位置。Maven 确实尊重这个属性。

<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">

  <!-- also point here to the repository that you'll copy from another computer -->
  <offline>true</offline>
</settings>
# mvn clean install
[INFO]
NOTE: Maven is executing in offline mode. Any artifacts not already in your local
于 2013-10-11T09:10:40.110 回答
0

其他解决方案可能是从 pom.xml 中删除您的存储库并直接从您的服务器安装。为此,您需要按照说明安装 jar mvn install:install-file -Dfile=YOURJAR.jar -DgroupId=GROUPID_OF_YOU_JAR -DartifactId=ARTIFACID_OF_YOU_JAR -Dversion=VERSION -Dpackaging=jar,例如将其放在与 pom.xml 相同的文件夹中

于 2013-10-11T09:13:00.747 回答
0

基本上不,你不正确,这不是原因。原因是您的存储库具有不在该存储库中的依赖项,或者它们具有快照依赖项并且您已指示更新快照依赖项。

解决方法是

  • 首先发出命令mvn dependency:go-offline以获取所有依赖项工件和插件的离线版本
  • 然后将您拥有的存储库文件夹复制到 Maven 存储库文件夹中的服务器
  • 然后为您的所有服务器运行指定离线标志(-o)或使用 maven 设置将离线设置为 true(首选),就像其他答案中已经提出的那样
于 2013-10-11T09:24:48.253 回答