一、默认使用jdk1.8
<!-- 在~/.m2/settings.xml中配置 -->
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<!-- 默认每个maven工程都加入这个配置 -->
<activeByDefault>true</activeByDefault>
<!-- 当检测到环境中有jdk1.8时触发 -->
<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>
这样当你配置完后,在idea中就能够看到这个profile,并且默认是勾选上的。
二、配置阿里云镜像
<!-- 在~/.m2/settings.xml中配置 -->
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
三、配置私服
<!-- 在~/.m2/settings.xml中配置 -->
<profile>
<id>github</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>github</id>
<url>https://raw.githubusercontent.com/hch814/maven-repo/master/repository</url>
</repository>
</repositories>
</profile>
四、配置代理
<!-- 在~/.m2/settings.xml中配置 -->
<proxies>
<proxy>
<id>ss</id>
<active>true</active>
<protocol>http</protocol>
<host>localhost</host>
<port>1087</port>
<nonProxyHosts>*.aliyun.com|localhost</nonProxyHosts>
</proxy>
</proxies>
五、打包非java文件
<!-- 在工程中配置。下面配置会将src/main/java的xml文件输出到target下 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
六、多重继承
<!--maven bom实现多重继承,在工程中配置-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.hch814</groupId>
<artifactId>parent-test</artifactId>
<version>0.1</version>
<type>pom</type>
<!-- 此处scope必须为import -->
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
七、上传二方包
- 项目源码工程可以获取
<!-- 在工程中配置 -->
<distributionManagement>
<!-- 正式版本例如X.X.X的包会发往这个服务器 -->
<repository>
<!-- 这个id对应server中的id -->
<id>server-releases</id>
<url>https://repo.rdc.aliyun.com/repository/XXXXX-release-XXXXX/</url>
</repository>
<!-- 版本例如X.X.X.SNAPSHOT的包会发往这个服务器 -->
<snapshotRepository>
<id>server-snapshots</id>
<url>https://repo.rdc.aliyun.com/repository/XXXXX-snapshot-XXXXX/</url>
</snapshotRepository>
</distributionManagement>
<!-- 打包源码 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- 在~/.m2/settings.xml中配置 -->
<servers>
<!-- 对应上述repository中的id -->
<server>
<id>server-releases</id>
<username>XXX</username>
<password>XXXXX</password>
</server>
<server>
<id>server-snapshots</id>
<username>XXX</username>
<password>XXXXX</password>
</server>
</servers>
- 只有jar包
mvn deploy:deploy-file \
-s "/Users/hch/settings.xml" \ # maven的settings文件所在位置
-DgroupId=com.github.kjhch \ # jar包对应的groupID
-DartifactId=gdb-spring-boot-starter \ # jar包对应的artifactId
-Dversion=1.0.3-SNAPSHOT \ # jar包对应的版本
-Dpackaging=jar \ # 打包方式为jar
-Durl=https://repo.rdc.aliyun.com/repository/xxx-snapshot-xxx/ \ # 私服url
-DrepositoryId=server-snapshots \ # 对应settings.xml中的serverid
-Dfile="/Users/hch/Desktop/gdb-spring-boot-starter.jar" \ # jar包所在位置
-DpomFile="/Users/hch/Desktop/pom.xml" # jar包所对应的pom位置,可从jar包中提取,必须添加,否则该jar依赖为空