maven使用注意事项

1.父模块的<packaging > 标签必须设置为 pom,父模块不编译

2.父模块用<dependencys>标签,会导致子模块继承所有依赖,所以尽量用dependencyManagement来管理版本,子模块声明即可,只有声明才会引入,不用加版本,如果有版本,以子模块为准。

3.单元测试plugin:maven-surefire-plugin,需要使用 3.0.X+

引入方法:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin.version}</version>
    <configuration>
        <skipTests>true</skipTests>
    </configuration>
</plugin>

4.预编译标签:<annotationProcessorPaths>

用法:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>${maven-compiler-plugin.version}</version>
    <configuration>
        <annotationProcessorPaths>
            <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </path>
            <path>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>${mapstruct.version}</version>
            </path>
        </annotationProcessorPaths>
    </configuration>
</plugin>

5.maven定义远程仓库地址

用法:

<repositories>
    <repository>
        <id>aliyunmaven</id>
        <name>aliyun</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </repository>
</repositories>

6.打jar插件:spring-boot-maven-plugin,打war包用maven-war-plugin

用法:

<!-- 设置构建的 jar 包名 -->
<finalName>${project.artifactId}</finalName>
<plugins>
    <!-- 打包 -->
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.6.7</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 -->
        <configuration>
            <fork>true</fork>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
                </goals>
            </execution>
        </executions>
    </plugin>
</plugins>

7.整体依赖结构:

(1)父模块依赖公共包(工具类、数据库连接等),负责版本管理

(2)启动服务模块依赖框架、业务模块(自主开发)

(3)框架模块(redis、mq等)

(4)业务模块单独开发,需要依赖的框架模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值