Maven
图
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件,Maven除了以程序构建能力为特色之外,还提供高级项目管理工具

介绍

图

图

概念

图

图

图

下载

https://maven.apache.org/

配置环境

与JDK一样,配置一个MAVEN_HOME,在PATH中配置%MAVEN_HOME%\bin

本地仓库

<!-- 本地仓库地址 -->
<localRepository>D:\Ab_Work\repository</localRepository>

<!-- 阿里云镜像 -->
<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>        
</mirror>

<!-- 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>

IDEA快速搭建模板

Java工程

图

Web工程

图

图

pom报红问题

图

指代与项目相同的版本

图

指定打包时的包名

<build>
    <finalName>包名</finalName>
</build>

版本过高问题

图

历史版本下载地址

图

加入本地Jar包

<!-- 本地Jar,放在resources/lib中 -->
<dependency>
    <groupId>com.arcsoft.face</groupId>  // 可随便填写
    <artifactId>arcsoft-sdk-face</artifactId>  // 可随便填写
    <version>2.2.0.1</version>  // 可随便填写
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/readersdk_android_v2.0.9.jar</systemPath>
</dependency>

<!-- 解决打包不存在问题 -->
<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <includeSystemScope>true</includeSystemScope>
        </configuration>
    </plugin>
</plugins>

子项目相互依赖打包找不到依赖问题/必须主启动类问题

在被依赖的项目pom中配置

<build>
    <plugins>
        <!-- 打包插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!-- 解决相互依赖打包找不到问题 -->
                <classifier>exec</classifier>
                <!-- 解决打包必须要主启动类问题 -->
                <skip>true</skip>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

注意:新搭建的项目,需要执行一次mvn install

Lombok编译报找不到符号问题

图

教程文章