Idea执行bat使用maven打包springboot项目成docker镜像并push到Harbor

如果执行以下命令失败,先把mvn的-q参数去掉,让错误输出到控制台。
《idea配置优化、Maven配置镜像、并行构建加速打包、解决maven打包时偶尔几个文件没权限的问题》下面的使用company-repo私有仓库和阿里云镜像仓库同时使用的配置参考。

bat

@echo off
echo set JAVA_HOME
set JAVA_HOME=C:/Users/X/.jdks/corretto-1.8.0_392echo clean......
start /B /WAIT cmd /c "mvn clean -q -f pom.xml"echo package......
start /B /WAIT cmd /c "mvn package -P company-repo,dev -q -f pom.xml"echo build docker image......
start /B /WAIT cmd /c "cd ./hihis-exchange-start && mvn dockerfile:build -q -f pom.xml"echo push docker image......
start /B /WAIT cmd /c "cd ./hihis-exchange-start && mvn dockerfile:push -q -f pom.xml"
exit

命令解释

echo set JAVA_HOME:设置maven执行命令时的java版本。防止maven打包时使用的java版本和项目java版本不一致,导致打包失败;例如:@WebMethod在Java 11中被完全删除,项目用java8没问题,但是windows环境变量是java17,这时候maven打包时使用的是java17,就会导致打包失败。

start /WAIT cmd /c “mvn clean -q -f pom.xml”:start表示另起一个cmd窗口执行命令,因为如果不另起一个cmd命令窗口执行,就会导致执行完mvn clean命令后,无法执行下一条mvn package命令了。导致命令提前结束。/WAIT表示等待当前命令执行完才执行下一条start命令。/B表示隐藏另起的cmd窗口,相当于静默执行start命令。

start /WAIT cmd /c “mvn package -P company-repo,dev -q -f pom.xml”:-P参数是使用profile变量。(如下图所示)-q表示输出error级别的日志到控制台,-f表示使用的pom文件。company-repo是一起使用maven私有仓库和阿里云maven镜像仓库,优先使用私有仓库,当私有仓库找不到依赖时,则去阿里云镜像库找。dev是pom.xml文件配置的开发环境
在这里插入图片描述

	<profiles><profile><id>dev</id><activation><!-- 默认使用dev环境 --><activeByDefault>true</activeByDefault></activation><properties><env>dev</env></properties></profile><profile><id>prod</id><properties><env>prod</env></properties></profile></profiles>

start /WAIT cmd /c “cd ./hihis-exchange-start && mvn dockerfile:build -q -f pom.xml”:cd表示进入到子目录,因为maven项目的插件在子目录,因此要先进入到子目录。但是因为start命令是从一个cmd另起一个cmd,当执行完start以后是会关闭当前窗口,回到第一个开启start的窗口的,因此,如果下一个命令还在子目录,则需要重新进入到子目录。mvn dockerfile:build表示使用maven的dockerfile插件使用build命令

start /WAIT cmd /c “cd ./hihis-exchange-start && mvn dockerfile:push -q -f pom.xml”:上面也提到了,start会另起一个cmd窗口,所以当前命令还是在主目录,因此我们要进入到子目录继续执行maven插件dockerfile的push命令

设置IntelliJ IDEA执行bat命令

在这里插入图片描述
执行bat命令
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/276482.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

simulinkveristand联合仿真——模型导入部署简单人机界面

目录 软件版本 simulink模型编译 veristand导入模型 veristand模型参数设置 veristand配置人机交互界面 veristand模型部署运行 软件版本 matlab2020a&#xff0c;veristand2020 R4 环境搭建及软件获取可看simulink&veristand&labview联合仿真环境搭建-CSDN博客…

三维成像激光雷达标定板可应用于各种领域

激光雷达技术是一种现代光学遥感技术&#xff0c;是传统雷达技术与现代激光技术相结合的产物&#xff0c;是以激光束作为信息载体&#xff0c;可以用振幅、相位、频率和偏振来搭载信息的雷达。 多线激光雷达则是通过多光束形成扫描平面&#xff0c;通过一维旋转机构实现四周的扫…

51单片机的外部中断的以及相关寄存器的讲解

中断系统 本文主要涉及8051单片机的中断系统的讲解与使用 其中包括中断相关寄存器的介绍与使用以及外部中断初始化的代码分析。 文章目录 中断系统一、 中断的介绍二、 中断结构及相关寄存器2.1 中断源 2.2 中断请求控制器2.2.1 TCON寄存器2.2.2 SCON寄存器2.2.3 中断允许寄存器…

MQ入门—centos 7安装RabbitMQ 安装

三&#xff1a;RabbitMQ 安装 1.环境准备 Linux 的 CentOS 7.x 版本。Xftp 传输安装包到 Linux。Xshell 连接 Linux&#xff0c;进行解压安装。 RabbitMQ安装包 链接&#xff1a;https://pan.baidu.com/s/1ZYVI4YZlvMrj458jakla9A 提取码&#xff1a;dyto xshell安装包 链接&…

ARM KEIL 安装

根据设备类型安装开发工具及环境 Arm,Cortex ----> MDK-Arm 8051 ----> C51 80251 ----> C251 C166,XC166,XC2000 MCU设备 ----> C155 填写信息提交后下载 点击MDK539.EXE下载 : MDK539.EXE 双击MDK539安装 点击Next 默认安装路径,点击Ne…

Axure的使用

1.Axure是什么&#xff1f;&#xff1f;&#xff1f; Axure是一款功能强大的原型设计工具&#xff0c;它可以让用户快速地创建交互式原型&#xff0c;并针对原型进行测试和改进。Axure的主要特点包括可定制的界面元素库、交互动画效果、条件逻辑、团队协作等功能&#xff0c;适…

PHP-个人博客-期末项目学习交流 【最后附有运行代码展示效果】

目录 项目主要功能有&#xff1a;:登入&#xff0c;注册&#xff0c;留言板管理&#xff0c;用户管理 数据库表有&#xff1a; user表&#xff0c;msg1表 &#xff08;可以私信我获取&#xff09; 主页展示&#xff1a; 注册页面 登入页面 留言板&#xff1a; 用户管…

java SSM火车票务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM火车票务管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

利用svm进行模型训练

一、步骤 1、将文本数据转换为特征向量 &#xff1a; tf-idf 2、使用这些特征向量训练SVM模型 二、代码 from sklearn.model_selection import train_test_split from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.svm import SVC from sklearn.m…

Notion开源平替知识库软件AFFiNE本地部署与公网访问远程协作

文章目录 前言1. 使用Docker安装AFFINE2. 安装cpolar内网穿透工具3. 配置AFFINE公网访问地址4. 实现公网远程访问AFFINE5. 结语 前言 本篇文章讲解Notion开源平替全能知识库工具AFFINE如何本地部署&#xff0c;并实现公网远程访问。AFFiNE 是一个全新的开源项目&#xff0c;旨…

深度学习第5天:GAN生成对抗网络

☁️主页 Nowl &#x1f525;专栏 《深度学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 ​​ 文章目录 一、GAN1.基本思想2.用途3.模型架构 二、具体任务与代码1.任务介绍2.导入库函数3.生成器与判别器4.预处理5.模型训练6.图片生成7.不同训练轮次的结果对比 一…

匿名内部类与Lambda表达式

深入了解Java的匿名内部类 Java作为一种面向对象的编程语言&#xff0c;提供了许多灵活的特性&#xff0c;其中之一就是匿名内部类。匿名内部类是一种没有名字的局部内部类&#xff0c;通常用于创建只需在一个地方使用的类的实例。 什么是匿名内部类&#xff1f; 匿名内部类是…