首页 > 其他分享 >Maven-高级

Maven-高级

时间:2023-01-10 21:57:50浏览次数:61  
标签:maven ssm 仓库 私服 高级 Maven pom test

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发布

标签:maven,ssm,仓库,私服,高级,Maven,pom,test
From: https://www.cnblogs.com/jy00/p/17041455.html

相关文章

  • maven安装在idea中报错
    java.lang.RuntimeException:java.lang.RuntimeException:org.codehaus.plexus.component.repository.exception.ComponentLookupException:com.google.inject.Provisio......
  • 软件测试最常用的 SQL 命令(二) | 高级 Join 多表查询
    INNERJOIN:如果表中有至少一个匹配,则返回行LEFTJOIN:即使右表中没有匹配,也从左表返回所有的行RIGHTJOIN:即使左表中没有匹配,也从右表返回所有的行FULLJOIN:只要其中一个表中......
  • maven引入本地jar包
    一、在pom文件中引用时使用本地路径:首先把jar包放到项目中,在目录下新建lib目录,将jar包放入lib下在pom下引入jar包<dependency><groupId>com.alibaba</groupId><arti......
  • maven标签详解
    依赖范围scope在项目发布过程中,帮助决定哪些构件被包括进来。欲知详情请参考依赖机制。compile:默认范围,用于编译provided:类似于编译,但支持你期待jdk或者容器提供,类似......
  • Maven 插件 git-commit-id-plugin,打包包含提交信息
    Maven打包发布版本可能会遇到自己的提交不起作用的情况,排查比较困难,可能需要拉下服务器上包,反编译查看是否包含自己的提交记录。如果使用的是GIT作为SCM,可以使用git-commi......
  • SpringBoot笔记--自动配置(高级内容)(中集)
    @Enable*注解使用该注解,需要导入相应的依赖坐标,其中的groupId标签里面写入Bean的Java文件所在的包的路径下面spring-enable-other还需要在SpringBoot的执行文件那里加......
  • SpringBoot笔记--自动配置(高级内容)(上集)
    原理分析自动配置Condition--增加的条件判断功能来一个案例说明:具体实现:没有要求的话,就是这样的:Config.javaUser.javaSpringLearnApplication.java结果:加上......
  • 前端高级进阶-事件循环
    事件循环浏览器的进程模型何为进程?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要......
  • IDEA2022设置项目默认Maven仓库路径
    介绍我们在使用idea创建新项目时,如果没有提前做配置,那么每次创建maven项目都是使用默认的maven配置,每次还需要进行修改maven配置,十分不方便,那么如何在每次创建maven项目时,......
  • IDEA创建一个maven项目
    打开IDEA(我目前用的2019),建立一个maven项目,(maven要先配置好,前一篇)如下图:点finish后等几分钟。  IDEA中maven配置点击File->Settings->Build->BuildTools->Maven......