1. 程式人生 > 其它 >Maven專案離線開發注意事項

Maven專案離線開發注意事項

離線開發前 maven專案先執行下
mvn dependency:go-offline
將所有的依賴全部下載到本地 將程式碼和本地倉庫拷貝到離線環境並在離線環境的setting.xml裡配置
true

elipse配置idea配置

idea配置

附setting.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">

	<!-- 本地倉庫位置, 預設為"%HOMEPATH%/.m2/repository"資料夾,這裡我自定義了位置 -->
	<localRepository>D:/02-repo</localRepository>
	<!--<offine>true</offine>-->

	<servers>
		<!-- 私服release庫使用者名稱密碼,在專案釋出到私服時用到 -->
		<server>
			<id>maven-releases</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<!-- 私服snapshots庫使用者名稱密碼,在專案釋出到私服時用到 -->
		<server>
			<id>maven-snapshots</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<!-- Docker倉庫私服 -->
		<server>
			<id>rsmis-docker</id>
			<username>rsmis</username>
			<password>Geoway123</password>
		</server>
	</servers>

	<mirrors>		
		<!-- 倉庫映象 -->
		<mirror>
			<id>central</id>
			<name>central</name>			
			<url>http://maven.aliyun.com/nexus/content/groups/public</url>
			<mirrorOf>central</mirrorOf>
		</mirror>		
	</mirrors>

	<profiles>
		<!-- JDK配置 -->
		<profile>
			<id>jdk-1.8</id>
			<activation>
				<activeByDefault>true</activeByDefault>
				<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>
		<!-- 倉庫配置 -->
		<profile>
			<id>nexus</id>
			<repositories>
				<!-- 依賴庫, 聚合了snapshot與release -->
				<repository>
					<id>maven-public</id>
					<url>http://172.16.15.240:65432/repository/maven-public/</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
						<!-- 更新snapshot包的頻率,屬性有四個值always(實時更新) daily(每天更新)interval:x(x為一整數,單位分鐘),never(不更新) -->
						<updatePolicy>always</updatePolicy>
						<!-- maven部署檔案到倉庫時,也會部署對應的校驗和檔案, 可以設定:ignore,fail或者warn用於當校驗和檔案不存在或者檢驗失敗時的處理策略 -->
						<checksumPolicy>warn</checksumPolicy>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<!-- 外掛庫, 聚合了snapshot與release -->
				<pluginRepository>
					<id>maven-public</id>
					<url>http://172.16.15.240:65432/repository/maven-public/</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>true</enabled>
						<updatePolicy>always</updatePolicy>
						<checksumPolicy>warn</checksumPolicy>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>
	</profiles>

	<!-- 每個profile代表一組預設配置, 在maven專案編譯時可以指定使用哪一組配置, 這裡設定jdk-1.8和nexus兩組配置永久啟用 -->
	<activeProfiles>
		<activeProfile>jdk-1.8</activeProfile>
		<activeProfile>nexus</activeProfile>
	</activeProfiles>

</settings>