1. 程式人生 > 其它 >【Maven】Maven離線專案爬坑筆記

【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.repositories檔案,否則還是回到遠端倉庫去找
# 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檔案中就能解決。

好學若飢,謙卑若愚