1、maven setting.xml相關(guān)知道點(diǎn)
<servers>
<!-- 如果有搭建自己公司的maven私服,公司內(nèi)部會(huì)把自己的公司的公共jar包上傳到maven私服中。
如果私服配置了上傳、或讀取權(quán)限地啰,servers標(biāo)簽需要給出授權(quán)信息。 -->
<server>
<id>release-repository</id>
<username>lengyu</username>
<password>abcd456rqa</password>
</server>
</servers>
2讲逛、pom.xml相關(guān)知識(shí)點(diǎn)
<!--定義snapshots庫和releases庫的nexus地址亏吝,此節(jié)點(diǎn)放在project根節(jié)點(diǎn)下-->
<!-- 在distributionManagement段中配置的是snapshot快照庫和release發(fā)布庫的地址 -->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://maven.kmengfang.com:4900/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://maven.kmengfang.com:4900/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<!-- 注意這里配置的server的id必須和pom文件中的distributionManagement對應(yīng)倉庫的id保持一致,maven在處理發(fā)布時(shí)會(huì)根據(jù)id查找用戶名稱和密碼進(jìn)行登錄和文件的上傳發(fā)布盏混。 -->
3蔚鸥、maven常用插件(plugins)
3.1、源碼打包插件:maven-source-plugin
execution下可配置phase屬性, 意思是在什么階段打包源文件许赃。如<phase>package</phase>
執(zhí)行 mvn install止喷,maven會(huì)自動(dòng)將source install到repository 。
執(zhí)行 mvn deploy混聊,maven會(huì)自動(dòng)將source deploy到remote-repository 弹谁。
執(zhí)行 mvn source:jar,單獨(dú)打包源碼句喜。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
3.2配置maven依賴構(gòu)件的遠(yuǎn)程倉庫
<!-- 如果此私服需要授權(quán)才能訪問预愤,那么id值kmengfang-nexus則一定要在setting.xml中的servers配置 -->
<repositories>
<repository>
<id>kmengfang-nexus</id>
<name>aliyun nexus</name>
<url>http://maven.kmengfang.com:4900/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
3.3配置maven插件的遠(yuǎn)程倉庫
<!--配置Maven從什么地方下載插件構(gòu)件(如maven-clean-plugin、maven-compiler-plugin等)咳胃。
該元素的內(nèi)部配置和<repository>完全一樣-->
<pluginRepositories>
<pluginRepository>
<id>maven-net-cn</id>
<name>Maven China Mirror</name>
<url>http://repo1.maven.org/maven2</url>
<releases>
<!--可以從這個(gè)倉庫下載releases版本的構(gòu)件植康,配置與repositories一樣-->
<enabled>true</enabled>
</releases>
<!--關(guān)閉對SNAPSHOT的支持,防止不穩(wěn)定的構(gòu)建-->
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
Maven需要的依賴在本地倉庫中不存在時(shí)展懈,Maven會(huì)去配置的遠(yuǎn)程倉庫中查找
Maven需要的插件在本地倉庫中不存在時(shí)销睁,Maven不會(huì)去這些遠(yuǎn)程倉庫查找。
所以需要我們配置pluginRepositories倉庫存崖。