東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

简单学习Maven

2022年6月29日星期三



application

businessModel

commonModel

第三方model

1,简单创建

packaging标签指定打包方式,默认为jar,如果是父工程,必须设置为pom。web项目是war。

maven项目默认结构

    src

    target

    .pom

父工程需要删掉src目录。

pom Project Object Module 项目对象模型,该文件可以被继承。

2,目录结构

1)并列的目录结构

TestMaven01/
├── Test01Parent
│   ├── Test01Parent.iml
│   └── pom.xml
├── Test02Child
│   ├── Test02Child.iml
│   └── pom.xml
├── Test03Web
│   ├── Test03Web.iml
│   ├── pom.xml
│   └── src
└── Test04Java
    ├── Test04Java.iml
    ├── pom.xml
    └── src

空项目 TestMaven01下,01Parent为父项目、02Child、03Web为子项目。

配图1

2)嵌套的目录结构

TestMaven02/
├── Test01Java
│   ├── Test03Maven
│   ├── pom.xml
│   └── src
├── Test02Web
│   ├── pom.xml
│   └── src
└── pom.xml

TestMaven02是父项目,01Java、02Web是子项目,这是idea目前默认的方式。

配图2

3)混合目录结构

1和2的混合。

3,父项目统一管理编译插件

<build>
    <!-- 父工程中除统一管理依赖外,还可以统一管理编译插件 -->
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

父项目设置,子项目统一更改。


4,父项目统一管理依赖

父项目声明式依赖

<!-- 父模块统一管理版本号 -->
<properties>
    <mysql.version>8.0.22</mysql.version>
    <spring-mvc-version>4.3.16.RELEASE</spring-mvc-version>
</properties>

<!-- 声明式依赖 -->
<dependencyManagement>

    <!-- 父工程依赖,子工程自动继承 -->
    <dependencies>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>


    </dependencies>

</dependencyManagement>

子项目按需调用

<dependencies>
    <!-- 声明式依赖,子模块继承父模块版本 -->
    <!-- 如果子模块自定义了version,就近原则 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <!--<version>8.0.20</version>-->
    </dependency>
</dependencies>



--
senRsl
2022年06月29日15:55:13

没有评论 :

发表评论