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 2023-01-10 21:40    阅读(31)  评论(0编辑  收藏  举报