【Maven】Maven离线项目爬坑笔记

一、背景

  1. 笔记本不能联互联网。
  2. 局域网私服也暂时不能用。

由以上原因,将笔记本上的Maven设置为离线模式。使用STS将项目导入之后,项目排错如下。

二、错误以及解决方法

1、设置Maven为离线模式。

1)Settings.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<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">
  <localRepository>D:\mvn-repo\repository</localRepository>
  <pluginGroups></pluginGroups>
  <proxies></proxies>
  <servers></servers>  
  <mirrors>
	<mirror>
      <id>center</id>
      <name>*</name>
      <mirrorOf>central</mirrorOf>
      <url>file://D:\mvn-repo\repository</url>
    </mirror>
  </mirrors>
 <offline>true</offline>
  <profiles>
	<profile>
		<id>jdk8</id>
		<activation>                        
			<jdk>1.8</jdk>
		</activation>
		<properties>
			<maven.compiler.source>1.8</maven.compiler.source>
			<maven.compiler.target>1.8</maven.compiler.target>
			<maven.compiler.compilerversion>1.8</maven.compiler.compilerversion>
		</properties>
	</profile>	
  </profiles>
  <activeProfiles>
    <activeProfile>jdk8</activeProfile>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>
2)Eclipse maven设置
  • Offline✔
  • Download Artifact Sources 去掉勾,否则一直下载源码。

3) 查看 _remote.repositoriesmirror.id

settings.xml 设置的 <mirror>节点的id使其一直。
例如:下面 guava-retrying

#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Wed Feb 23 18:49:36 CST 2022
guava-retrying-2.0.0-sources.jar>alimaven=

则修改 settings.xml为

 <mirrors>
	<mirror>
      <id>alimaven</id>
      <name>*</name>
      <mirrorOf>central</mirrorOf>
      <url>file://D:\mvn-repo\repository</url>
    </mirror>
  </mirrors>
4)删除仓库中的_remote.repositories文件,否则还是回到远程仓库去找

如以上 3)不起作用。则使用此方法。

# windows
for /r %i in (_remote.repositories) do del %i

2、Maven传递依赖无法引入

项目中maven依赖传递中依赖包无法引入。例如:项目引入A.jar,A.jar依赖B.jar,但是B.jar不能正常引入项目。

问题原因以及解决方法

排查发现造成此问题原因:maven仓库中,在A.jar同级目录中的A.pom文件编写有问题。

解决方法:将jar解压,在META-INF\maven找到pom.xml文件,将内容覆盖到A.pom文件中就能解决。

posted @   二月无雨  阅读(561)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示