背景:
每次安装 maven 首先就是要配置好 setting.xml 文件。
新建项目需要配置好 pom.xml 文件。
记录一下常用的配置。
一、pom.xml的配置
- 拉取 jar 包的仓库地址
- jar 包发布的地址
- 下载 maven 插件的地址
- mavan 中常用的插件
- 重命名 jar 包
- 资源文件打包
<!-- 拉取 jar 包的仓库地址 -->
<repositories>
<repository>
<id>Nexus Release Repositor</id>
<url>https://nexus.Nexus Release Repositor.cn/repository/maven-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>Nexus Snapshot Repositor</id>
<url>https://nexus.Nexus Snapshot Repositor.cn/repository/maven-snapshots/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!-- jar 包发布的地址 -->
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Releases</name>
<url>https://nexus.maven-releases.cn/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Snapshot</name>
<url>https://nexus.maven-snapshots.cn/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<!-- 下载 maven 插件的地址 -->
<pluginRepositories>
<pluginRepository>
<id>aliyun-plugin</id>
<url>https://nexus.aliyun-plugin.cn/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<!--指定 maven 编译的 jdk 版本。编码类型。configuration 还有很多选项。-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>11</source>
<target>11</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 用于把程序打包成一个可执行的 jar 包。 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.9.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!--用户自定义归档文件格式,位置,结构等信息-->
<!-- groupId 可以省略,默认就是这个 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.5</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<!--配置生成 javadoc 包:生成可视化的 html 页面,帮助文档-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<encoding>UTF-8</encoding>
<aggregate>true</aggregate>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
<!-- 关闭注释检查 -->
<additionalJOptions>
<additionalJOption>-Xdoclint:none</additionalJOption>
</additionalJOptions>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!--配置生成 source 包:可以设置输出路径,源码包名称-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<!-- 将"src/main/java"目录下的 .xml 文件,.proto 文件也打包进来。 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/**.xml</include>
<include>**/**.proto</include>
</includes>
</resource>
</resources>
<!--重命名打包的 jar 文件-->
<finalName>
${project.artifactId}
</finalName>
</build>
二、setting.xml的配置
1.配置私服的用户名密码
2.配置私服仓库地址
<!-- 私服用户名密码 -->
<servers>
<server>
<id>central</id>
<username>central-name</username>
<password>central-password</password>
</server>
<server>
<id>snapshots</id>
<username>snapshots-name</username>
<password>snapshots-password</password>
</server>
</servers>
<!-- 一些环境 -->
<profiles>
<profile>
<id>profile-id</id>
<repositories>
<repository>
<id>central</id>
<name>libs-release</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>http://xxx.xxx.com/libs-release</url>
</repository>
<repository>
<id>snapshots</id>
<name>libs-snapshot</name>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>http://xxx.xxx.com/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>plugins-release</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>http://xxx.xxx.com/plugins-release</url>
</pluginRepository>
<pluginRepository>
<id>snapshots</id>
<name>plugins-snapshot</name>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>http://xxx.xxx.com/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- 激活的环境 -->
<activeProfiles>
<activeProfile>profile-id</activeProfile>
</activeProfiles>