39-Maven进阶

本文详细介绍了Maven高级用法,包括分模块开发(DAO与Domain分离)、依赖传递与管理(可选依赖与排除)、继承与聚合的区别、属性配置(如版本和属性设置),以及多环境部署和私服(Nexus)的搭建与配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

39-Maven进阶-heima-笔记



一、分模块开发

在这里插入图片描述

①:分模块发开与设计

在这里插入图片描述在这里插入图片描述**加粗样式**

②:需求

1. 分成单独的模块进行开发
在这里插入图片描述

③:将dao包分为单独的模块

1. 创建一个新的包并将dao包中内容复制到新的包中
在这里插入图片描述
1. 在原始项目包中引用新项目包坐标
在这里插入图片描述
2. 引入后发现新项目中方法都在报错!!!(引入依赖)
在这里插入图片描述 在这里插入图片描述

④:将domain实体类分为单独模块开发

1. 创建新的项目包将原始domain中的程序复制到新项目包中(删除原始项目包中的domain文件夹)
在这里插入图片描述
2. 在dao项目包中引入daomin包坐标
在这里插入图片描述
3. 在domain包中导入lombok依赖
在这里插入图片描述

⑤:将分开的项目包install到仓库

1. 将项目包install到仓库(否则会找不到而报错)
在这里插入图片描述
2. 测试
在这里插入图片描述

二、依赖管理

①:依赖传递

在这里插入图片描述
在这里插入图片描述

②:可选依赖与排除依赖

在这里插入图片描述
在这里插入图片描述

三、 继承与聚合

①:聚合

在这里插入图片描述
1. 创建一个Maven工程
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

②:继承

在这里插入图片描述

1. 创建Maven模块,设置打包类型为pom
在这里插入图片描述
2. 在父工程中配置子工程需要用的依赖
在这里插入图片描述
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.18</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.3.18</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>5.3.18</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.6</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.13.3</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.8</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.6</version>
    </dependency>
</dependencies>
3. 配置子工程中可选的依赖关系
在这里插入图片描述在这里插入图片描述
4. 在子工程中配置当前工程所继承的工程
在这里插入图片描述在这里插入图片描述
5. 在子工程中配置使用父工程中可选依赖坐标
在这里插入图片描述

在这里插入图片描述

③:继承和聚合的区别

在这里插入图片描述

四、属性

①:属性

1. 定义属性及使用
在这里插入图片描述

②:配置文件加载属性

1. 定义属性
在这里插入图片描述
2. 引入属性
在这里插入图片描述
3.开启资源文件目录加载属性的过滤器
    <build>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
在这里插入图片描述
4. 配置maven打war包时,忽略web.xml检查
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
在这里插入图片描述
5.测试
在这里插入图片描述

在这里插入图片描述

③:版本管理

在这里插入图片描述

五、多环境配置与应用

①:多环境开发

在这里插入图片描述

1. 定义的多环境
在这里插入图片描述
在这里插入图片描述
2. 测试
在这里插入图片描述在这里插入图片描述在这里插入图片描述

②:跳过测试

1. 方法一(缺点:全部测试都会跳过)
在这里插入图片描述
2. 方法二(插件配置)
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
                <configuration>
<!--                    是否跳过测试 false -->
                    <skipTests>false</skipTests>
<!--                    排除掉不参与测试的内容-->
                    <excludes>
                        <exclude>**/BookServiceTest.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
在这里插入图片描述在这里插入图片描述
3. 方法三(使用命令跳过测试)
在这里插入图片描述

六、私服

①:私服介绍

在这里插入图片描述

②:私服安装(Nexus)

1. 下载
在这里插入图片描述
2. 绿色版的(直接解压即可)
在这里插入图片描述
3. 直接启动服务器(缺点:关闭cmd窗口后私服服务自动关闭)
  • ①. 使用管理员运行cmd
  • ②.进入nexus-2.14.11-01\bin目录中执行以下命令
3.1 启动指令:nexus.exe /run nexus
在这里插入图片描述在这里插入图片描述
3.2 如果因为其他版本而启动失败(先卸载其他版本)
在这里插入图片描述
3.3 将服务安装到本地(推荐使用:cmd命令窗口关闭后私服不会自动停止)
nexus.exe /install <optional-service-name> //安装服务   
(optional-service-name是服务别名,默认是nexus)
nexus.exe /uninstall //卸载服务
 
nexus.exe /start <optional-service-name> //启动服务
nexus.exe /stop <optional-service-name>  //停止服务

扩展:
可以安装多个服务名不同的服务,分别启动
nexus.exe /install nexus01 //安装服务
nexus.exe /start nexus01 //启动服务
nexus.exe /install nexus02 //安装服务
nexus.exe /start nexus02 //启动服务

安装指令
在这里插入图片描述
4. 访问私服:[http://localhost:8081/](http://localhost:8081/)
在这里插入图片描述
5. 根据向导完成 密码修改 及 匿名访问
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

③:修改基本配置信息

可根据需求进行更改(此处我并没有做修改)
在这里插入图片描述

④:私服仓库分类

在这里插入图片描述

⑤:本地仓库访问服务配置

在这里插入图片描述

01. 新建仓库

1. 新建一个 Snapshot 类型的 存快照的仓库
在这里插入图片描述 在这里插入图片描述

|

2. 新建一个 Release 类型的 存发行版的仓库
在这里插入图片描述

02. 配置是否允许重新发布

新建的两个仓库都是同样的操作
在这里插入图片描述

03.添加阿里中央仓库

添加阿里中央仓库
在这里插入图片描述在这里插入图片描述 在这里插入图片描述

在这里插入图片描述在这里插入图片描述

04. 配置本地仓库访问私服的权限

配置本地仓库 (Maven) 访问私服的权限
在这里插入图片描述
	<!--配置访问私服的权限-->
	<server>
		 <id>coke-Release</id><!--nexus的认证id(仓库名称)--> 
		 <username>admin</username><!--nexus中的用户名密码--> 
		 <password>admin123</password> 
	</server>

	<server>
		 <id>coke-Snapshot</id><!--nexus的认证id(仓库名称)--> 
		 <username>admin</username><!--nexus中的用户名密码--> 
		 <password>admin123</password> 
	</server>
	
	<server>
		 <id>aliyun</id><!--nexus的认证id(仓库名称)--> 
		 <username>admin</username><!--nexus中的用户名密码--> 
		 <password>admin123</password> 
	</server>

05. 配置映射(私服的地址URL)

	 <!--配置私服的访问路径--> 
	 <mirror>
		<id>maven-public</id> <!--id(仓库组名称)--> 
		<mirrorOf>*</mirrorOf> <!--*(所有的操作都会与私服打交道)-->
		<url>http://localhost:8081/repository/maven-public/</url>
	</mirror>
配置私服的访问地址URL为仓库组的
在这里插入图片描述在这里插入图片描述在这里插入图片描述

⑥:私服资源上传与下载

    <!--    配置当前工程保存在私服中的具体位置-->
    <distributionManagement>
        <!-- 发行版仓库地址-->
        <repository>
            <id>coke-Release</id>
            <url>http://localhost:8081/repository/coke-Release/</url>
        </repository>
        <!-- 快照版仓库地址-->
        <snapshotRepository>
            <id>coke-Snapshot</id>
            <url>http://localhost:8081/repository/coke-Snapshot/</url>
        </snapshotRepository>
    </distributionManagement>
配置当前工程保存在私服中的具体位置
在这里插入图片描述
2. 查看私服中的文件
在这里插入图片描述
3. 上传发布
在这里插入图片描述 在这里插入图片描述在这里插入图片描述

在这里插入图片描述

4. 下载测试
在这里插入图片描述在这里插入图片描述在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七@归七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值