随笔- 62  文章- 1  评论- 5  阅读- 13061 

Mvaen 高级

1 导入其他工程 资源文件

先install到仓库里

然后根据组织名项目名版本号写在dependence里正常导入

<dependence>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</dependence>

2 聚合

拥有一个父模块,解决版本一起迭代更新的问题

新建一个Maven工程 , 只留下一个pom文件

在pom里添加

<packaging>pom</packaging>
<!-- 管理的工程列表 -->
<modules>
<module>../ssm_pojo</module>
<module>../ssm_dao</module>
<module></module>
<module></module>
</modules>

代表着专门用于做项目管理

3 继承

由父工程做依赖 及其 版本控制

<!--声明此处进行依赖版本管理 -->
<dependencyManagement>
<dependencies>
<dependence></dependence>
<dependence></dependence>
<dependence></dependence>
</dependencies>
</dependencyManagement>

在子工程里导入父工程

<parent>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<relativePath>../ssm/pom.xml</relativePath>
</parent>
<!-- 去掉groupId version -->
<artifactId></artifactId>

然后在子工程的依赖中 , 引入依赖就不需要自己去指定版本了 , 可以直接用父工程的依赖版本

image-20230110010405753

4 聚合与继承

image-20230110010508151

5 属性

<properties>
<spring.version>5.1.9.RELEASE</spring.version>
</properties>
<dependencies>
<dependence>
<groupId></groupId>
<artifactId></artifactId>
<version>${spring.version}</version>
</dependence>
</dependencies>

image-20230110011304386

image-20230110011321869

6 版本管理

6.1 工程版本

image-20230110011401593

6.2 版本号约定

image-20230110011715483

7 资源配置

在pom中的添加变量 , 同样可以在properties文件中用${}引用,然后需要在pom中配置resources

在任意配置文件中加载pom文件中定义的属性

后面其实可以用nacos 配置中心来代替

<resources>
<resource>
<directory>${project.basedir}/ssm_dao/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/ssm_dao/src/main/resources</directory>
<filtering>true</filtering>
</testRsource>
</testResources>

8 环境配置 - 多环境

<profiles>
<!-- 定义具体的环境:生产环境 -->
<profile>
<id>pro_env</id>
<!-- 定义环境中专用的属性值 -->
<properties>
<jdbc.url>xxxx</jdbc.url>
</properties>
<!-- 设置默认启动 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- 开发环境 -->
<profile>
<id>dev_env</id>
<properties>
<jdbc.url>aaaa</jdbc.url>
</properties>
</profile>
</profiles>

然后需要在打包的时候指定环境名

新建一个maven指令

install -P dep_env

9 跳过测试

9.1 应用场景

image-20230110181322368

9.2 跳过方法

  • idea中点击右边的maven组件,然后上面有个闪电的标志,点击,看到test的生命周期被中划线划掉,即可跳过

  • 直接用命令行的方式来执行生命周期 -D skipTests

  • 配置插件来跳过测试

    <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.1</version>
    <configuration>
    <skipTests>true</skipTests>
    </configuration>
    </plugin>

9.3 选定测试的内容

<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<includes>
<include>
**/UserServiceTest.java
</include>
</includes>
<excludes>
</excludes>
</configuration>
</plugin>

10 私服

10.1 下载 与 启动

Nexus - maven私服产品

Nexus下载地址

启动:

nexus /run nexus

访问地址: localhost:8081

image-20230110205948765

./etc目录下的 nexus-default.properties文件可以修改对应的起点端口号

./bin/nexus.vmoptions可以修改最大内存, 日志等参数

10.2 私服资源获取

10.2.1 仓库分类

image-20230110210515450

10.2.2 进行仓库分组

进入\sonatype-work\nexus3\admin.password

点击,里面存放了密码

用户名:admin

登录进去后可以设置新密码:123456

代理仓库image-20230110211108596

宿主仓库image-20230110211123202

仓库组:image-20230110211140440

创建一个宿主仓库

image-20230110211222974

将新创建的tets-release仓库加到仓库组中

image-20230110211431894

然后就可以在浏览的界面中上传文件了

10.3 本地仓库使用私服

上传地址:宿主地址

下载地址:组地址

进入maven本地配置中,配置访问私服

<server>
<id>test-release</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>test-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
<mirror>
<id>nexus-test</id>
<mirrorOf>*</mirrorOf>
<name>私服仓库</name>
<url>http://127.0.0.1:8081/repository/maven-public/</url>
</mirror>

10.4 发布

添加maven的pom的配置

<distributionManagement>
<repository>
<id>test-release</id>
<url>http://127.0.0.1:8081/repository/test-release/</url>
</repository>
<repository>
<id>test-snapshots</id>
<url>http://127.0.0.1:8081/repository/test-snapshots/</url>
</repository>
</distributionManagement>

然后生命周期reploy发布

 posted on     阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示

目录导航