JavaWeb企业级开发---Maven高级

记录在听黑马课的时候的笔记以及课堂上练习的代码,文章图源于我在听课的时候所截的屏,所以有些不清晰,请见谅。下面是课程链接 ,可点击自行跳转。

【黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)】 https://www.bilibili.com/video/BV1m84y1w7Tb/?share_source=copy_web&vd_source=d521b664e1113402904fa9336bd1d0ac


目录

分模块设计与开发

继承与聚合

继承

继承关系

版本锁定

聚合实现

私服

介绍

资源上传与共享

私服配置说明

Web开发总结


分模块设计与开发

创建项目时,选择maven即可,之后可导入所需要的依赖。

当我们想用模块代码功能时,只需要将该模块进行依赖导入即可。

复制代码
<!--        引入自己创建的实体类依赖-->
        <dependency>
            <groupId>com.jianglin</groupId>
            <artifactId>tails-pojo</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
<!--        引入自己创建的utils工具类-->
        <dependency>
            <groupId>com.jianglin</groupId>
            <artifactId>tails-utils</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

整个框架代码是这样划分的。

继承与聚合

继承

继承关系

jar:普通模块打包,springboot项目基本都是jar包(内嵌tomcat运行)

war: 普通web程序打包,需要部薯在外部的tomcat服务器中运行

pom: 工程或聚合工程,该模块不写代码,仅进行依赖管理

版本锁定

对于springboot我们不会对其进行同一版本管理,因为spring boot已经自动设置了版本管理了。

聚合实现

继承与聚合
作用

聚合用于快速构建项目

继承用于简化依赖配置,统一管理依赖
相同点:

聚合与继承的pom,xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中

聚合与继承均属于设计型模块,并无实际的模块内容
不同点:

聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些

继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

私服

介绍

资源上传与共享

私服配置说明

访问私服:http://192.168.150.101:8081

访问密码:admin/admin

使用私服,需要在maven的settings.xml配置文件中,做如下配置:

1.需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)

复制代码
<server>
    <id>maven-releases</id>
    <username>admin</username>
    <password>admin</password>
</server>
    
<server>
    <id>maven-snapshots</id>
    <username>admin</username>
    <password>admin</password>
</server>

2.在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)

复制代码
<mirror>
    <id>maven-public</id>
    <mirrorOf>*</mirrorOf>
    <url>http://192.168.150.101:8081/repository/maven-public/</url>
</mirror>

3.需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用

复制代码
<profile>
    <id>allow-snapshots</id>
        <activation>
        	<activeByDefault>true</activeByDefault>
        </activation>
    <repositories>
        <repository>
            <id>maven-public</id>
            <url>http://192.168.150.101:8081/repository/maven-public/</url>
            <releases>
            	<enabled>true</enabled>
            </releases>
            <snapshots>
            	<enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
</profile>

4.如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)

复制代码
<distributionManagement>
    <!-- release版本的发布地址 -->
    <repository>
        <id>maven-releases</id>
        <url>http://192.168.150.101:8081/repository/maven-releases/</url>
    </repository>
    
    <!-- snapshot版本的发布地址 -->
    <snapshotRepository>
        <id>maven-snapshots</id>
        <url>http://192.168.150.101:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)

启动本地私服

解压: apache-maven-nexus.zip

进入目录: apache-maven-nexus\nexus-3.39.0-01\bin

启动服务:双击 start.bat

访问服务:localhost:8081

私服配置说明:将上述配置私服信息的 192.168.150.101 改为 localhost

Web开发总结


本次JavaWeb企业级开发课程成功完结,感谢大家观看,希望对大家有帮助。

相关推荐
丶小鱼丶2 小时前
数据结构和算法之【二分查找】
java·数据结构·算法
myaijarvis2 小时前
maven 多模块(SpringCloud) 笔记
笔记
于先生吖2 小时前
Java 同城服务同城租房系统源码 完整项目实现
java·开发语言
与数据交流的路上2 小时前
oceanbase-长事务排查
java·数据库·oceanbase
ascarl20102 小时前
canal和ES同步失败维护步骤
java·数据库·elasticsearch
on_pluto_2 小时前
论文Heterogeneous Graph Transformer(HGT)阅读笔记
论文阅读·人工智能·笔记·深度学习·学习方法
Gorgous—l2 小时前
数据结构算法学习:LeetCode热题100-贪心算法篇(数组中的第K个最大元素、 前 K 个高频元素、数据流的中位数)
数据结构·学习·算法
五月茶2 小时前
力扣Hot100(Java版本)
java·算法·leetcode
哎呦 你干嘛~2 小时前
tcpip通讯
学习