39-Maven进阶

39-Maven进阶-heima-笔记


文章目录

  • 39-Maven进阶-heima-笔记
  • 一、分模块开发
    • ①:分模块发开与设计
    • ②:需求
    • ③:将dao包分为单独的模块
    • ④:将domain实体类分为单独模块开发
    • ⑤:将分开的项目包install到仓库
  • 二、依赖管理
    • ①:依赖传递
    • ②:可选依赖与排除依赖
  • 三、 继承与聚合
    • ①:聚合
    • ②:继承
    • ③:继承和聚合的区别
  • 四、属性
    • ①:属性
    • ②:配置文件加载属性
    • ③:版本管理
  • 五、多环境配置与应用
    • ①:多环境开发
    • ②:跳过测试
  • 六、私服
    • ①:私服介绍
    • ②:私服安装(Nexus)
    • ③:修改基本配置信息
    • ④:私服仓库分类
    • ⑤:本地仓库访问服务配置
      • 01. 新建仓库
      • 02. 配置是否允许重新发布
      • 03.添加阿里中央仓库
      • 04. 配置本地仓库访问私服的权限
      • 05. 配置映射(私服的地址URL)
    • ⑥:私服资源上传与下载


一、分模块开发

39-Maven进阶_第1张图片

①:分模块发开与设计

39-Maven进阶_第2张图片39-Maven进阶_第3张图片39-Maven进阶_第4张图片

②:需求

1. 分成单独的模块进行开发
39-Maven进阶_第5张图片

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

1. 创建一个新的包并将dao包中内容复制到新的包中
39-Maven进阶_第6张图片
1. 在原始项目包中引用新项目包坐标
39-Maven进阶_第7张图片
2. 引入后发现新项目中方法都在报错!!!(引入依赖)
39-Maven进阶_第8张图片 39-Maven进阶_第9张图片

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

1. 创建新的项目包将原始domain中的程序复制到新项目包中(删除原始项目包中的domain文件夹)
39-Maven进阶_第10张图片
2. 在dao项目包中引入daomin包坐标
39-Maven进阶_第11张图片
3. 在domain包中导入lombok依赖
39-Maven进阶_第12张图片

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

1. 将项目包install到仓库(否则会找不到而报错)
39-Maven进阶_第13张图片
2. 测试
39-Maven进阶_第14张图片

二、依赖管理

①:依赖传递

39-Maven进阶_第15张图片
39-Maven进阶_第16张图片

②:可选依赖与排除依赖

39-Maven进阶_第17张图片
39-Maven进阶_第18张图片

三、 继承与聚合

①:聚合

39-Maven进阶_第19张图片
1. 创建一个Maven工程
39-Maven进阶_第20张图片
39-Maven进阶_第21张图片39-Maven进阶_第22张图片

②:继承

39-Maven进阶_第23张图片

1. 创建Maven模块,设置打包类型为pom
39-Maven进阶_第24张图片
2. 在父工程中配置子工程需要用的依赖
39-Maven进阶_第25张图片
<dependencies>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-webmvcartifactId>
        <version>5.3.18version>
    dependency>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-jdbcartifactId>
        <version>5.3.18version>
    dependency>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-testartifactId>
        <version>5.3.18version>
    dependency>
    <dependency>
        <groupId>org.mybatisgroupId>
        <artifactId>mybatisartifactId>
        <version>3.4.6version>
    dependency>
    <dependency>
        <groupId>junitgroupId>
        <artifactId>junitartifactId>
        <version>4.13version>
        <scope>testscope>
    dependency>
    <dependency>
        <groupId>javax.servletgroupId>
        <artifactId>servlet-apiartifactId>
        <version>2.5version>
    dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.coregroupId>
        <artifactId>jackson-databindartifactId>
        <version>2.13.3version>
    dependency>

    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>8.0.28version>
    dependency>
    <dependency>
        <groupId>com.alibabagroupId>
        <artifactId>druidartifactId>
        <version>1.2.8version>
    dependency>
    <dependency>
        <groupId>org.mybatisgroupId>
        <artifactId>mybatis-springartifactId>
        <version>2.0.6version>
    dependency>
dependencies>
3. 配置子工程中可选的依赖关系
39-Maven进阶_第26张图片39-Maven进阶_第27张图片
4. 在子工程中配置当前工程所继承的工程
39-Maven进阶_第28张图片39-Maven进阶_第29张图片
5. 在子工程中配置使用父工程中可选依赖坐标
39-Maven进阶_第30张图片

39-Maven进阶_第31张图片

③:继承和聚合的区别

39-Maven进阶_第32张图片

四、属性

①:属性

1. 定义属性及使用
39-Maven进阶_第33张图片

②:配置文件加载属性

1. 定义属性
39-Maven进阶_第34张图片
2. 引入属性
39-Maven进阶_第35张图片
3.开启资源文件目录加载属性的过滤器
    <build>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
39-Maven进阶_第36张图片
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>
39-Maven进阶_第37张图片
5.测试
39-Maven进阶_第38张图片

39-Maven进阶_第39张图片

③:版本管理

39-Maven进阶_第40张图片

五、多环境配置与应用

①:多环境开发

39-Maven进阶_第41张图片

1. 定义的多环境
39-Maven进阶_第42张图片
39-Maven进阶_第43张图片
2. 测试
39-Maven进阶_第44张图片39-Maven进阶_第45张图片39-Maven进阶_第46张图片

②:跳过测试

1. 方法一(缺点:全部测试都会跳过)
39-Maven进阶_第47张图片
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>
39-Maven进阶_第48张图片39-Maven进阶_第49张图片
3. 方法三(使用命令跳过测试)
39-Maven进阶_第50张图片

六、私服

①:私服介绍

39-Maven进阶_第51张图片

②:私服安装(Nexus)

  • Nexus

    • Sonatype公司的一款maven私服产品
    • 下载地址 :https://help.sonatype.com/repomanager3/product-information/download
  • 网盘下载

    • 链接:https://pan.baidu.com/s/1RGoB1pP7-RzkR9nm3n6ILA
    • 提取码:Coke
1. 下载
39-Maven进阶_第52张图片
2. 绿色版的(直接解压即可)
39-Maven进阶_第53张图片
3. 直接启动服务器(缺点:关闭cmd窗口后私服服务自动关闭)
  • ①. 使用管理员运行cmd
  • ②.进入nexus-2.14.11-01\bin目录中执行以下命令
3.1 启动指令:nexus.exe /run nexus
39-Maven进阶_第54张图片39-Maven进阶_第55张图片
3.2 如果因为其他版本而启动失败(先卸载其他版本)
39-Maven进阶_第56张图片
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 //启动服务

安装指令
39-Maven进阶_第57张图片
4. 访问私服:[http://localhost:8081/](http://localhost:8081/)
39-Maven进阶_第58张图片
5. 根据向导完成 密码修改 及 匿名访问
39-Maven进阶_第59张图片39-Maven进阶_第60张图片39-Maven进阶_第61张图片39-Maven进阶_第62张图片

③:修改基本配置信息

可根据需求进行更改(此处我并没有做修改)
39-Maven进阶_第63张图片

④:私服仓库分类

39-Maven进阶_第64张图片

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

39-Maven进阶_第65张图片

01. 新建仓库

1. 新建一个 Snapshot 类型的 存快照的仓库
39-Maven进阶_第66张图片 39-Maven进阶_第67张图片

|

2. 新建一个 Release 类型的 存发行版的仓库
39-Maven进阶_第68张图片

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

新建的两个仓库都是同样的操作
39-Maven进阶_第69张图片

03.添加阿里中央仓库

  • 阿里中央仓库地址 http://maven.aliyun.com/nexus/content/groups/public/
添加阿里中央仓库
39-Maven进阶_第70张图片39-Maven进阶_第71张图片 39-Maven进阶_第72张图片

39-Maven进阶_第73张图片39-Maven进阶_第74张图片

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

配置本地仓库 (Maven) 访问私服的权限
39-Maven进阶_第75张图片
	
	<server>
		 <id>coke-Releaseid> 
		 <username>adminusername> 
		 <password>admin123password> 
	server>

	<server>
		 <id>coke-Snapshotid> 
		 <username>adminusername> 
		 <password>admin123password> 
	server>
	
	<server>
		 <id>aliyunid> 
		 <username>adminusername> 
		 <password>admin123password> 
	server>

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

	  
	 <mirror>
		<id>maven-publicid>  
		<mirrorOf>*mirrorOf> 
		<url>http://localhost:8081/repository/maven-public/url>
	mirror>
配置私服的访问地址URL为仓库组的
39-Maven进阶_第76张图片39-Maven进阶_第77张图片39-Maven进阶_第78张图片

⑥:私服资源上传与下载

    
    <distributionManagement>
        
        <repository>
            <id>coke-Releaseid>
            <url>http://localhost:8081/repository/coke-Release/url>
        repository>
        
        <snapshotRepository>
            <id>coke-Snapshotid>
            <url>http://localhost:8081/repository/coke-Snapshot/url>
        snapshotRepository>
    distributionManagement>
配置当前工程保存在私服中的具体位置
39-Maven进阶_第79张图片
2. 查看私服中的文件
39-Maven进阶_第80张图片
3. 上传发布
39-Maven进阶_第81张图片 39-Maven进阶_第82张图片39-Maven进阶_第83张图片

39-Maven进阶_第84张图片

4. 下载测试
39-Maven进阶_第85张图片39-Maven进阶_第86张图片39-Maven进阶_第87张图片

你可能感兴趣的:(Java,java-Spring,maven,java)