java.lang.IllegalStateException: Failed to load ApplicationContext

2023-10-29

问题描述

mvn clean install的时候报的如下异常:

在这里插入图片描述
紧接着又往下翻了一下日志还有一个这个错误

在这里插入图片描述
在这里插入图片描述

按正常来说通过@@可以取pom当中的properties标签的值呀。但是可以发现编译过后的application当中的值并没有被替换。

在这里插入图片描述

解决过程

(1)我先是将server.port=@server.port@替换成了server.port=8082,然后clean install直接成功了,那也就证明就是这块的问题导致的。

(2)既然知道问题原因了,然后我尝试着不使用mvn clean install命令,通过idea工具当中的构建,竟然成功了。

在这里插入图片描述

而且打出来的jar包端口号也生效了

在这里插入图片描述

按正常来说idea当中Lifecycle当中构建和我们直接执行maven命令是没有区别的,为什么他可以呢?

于是我突然想到了我在idea当中设置了跳过测试,如下:

在这里插入图片描述
maven当中有很多生命周期阶段,其中test也是其中一个阶段,也就是在执行install的时候会经过test阶段,test阶段绑定了surefire插件,这个插件会给我们系统做一些简单的测试,例如系统可以运行,还有带有@Test注解的方法是否能正常运行。

而我这里使用了@@变量取值,也就是在还没有进行值替换的时候执行了test阶段,恰好是取的端口值,test阶段在启动项目的时候端口设置的不是数字直接就发生了异常,从而直接将构建过程给终止掉了。

对maven生周期不了解的建议看一下这篇文章:https://blog.csdn.net/weixin_43888891/article/details/130756192

解决方案,命令当中加上-DskipTests即可解决:
mvn clean install -DskipTests

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.IllegalStateException: Failed to load ApplicationContext 的相关文章

随机推荐

  • 大写字母转小写字母

    输入一个大写英文字母 输出相应的小写字母 例 输入 G 输出 g int main char g scanf c g if g gt A g lt Z g g 32 printf c g else if g gt a g lt z g g
  • Java基础知识点梳理

    Java基础知识点梳理 摘要 虽然已经在实际工作中经常与java打交道 但是一直没系统地对java这门语言进行梳理和总结 掌握的知识也比较零散 恰好利用这段时间重新认识下java 并对一些常见的语法和知识点做个总结与回顾 一方面为了加深印象
  • Java创建对称密钥的步骤

    实例说明 本实例给出Java中创建对称密钥的步骤 并通过对象序列化方式保存在文件中 编程思路 1 获取密钥生成器 KeyGenerator kg KeyGenerator getInstance DESede 分析 Java中KeyGene
  • @Scope作用域代理的应用:@RefreshScope注解实现动态刷新配置的底层原理与实现

    RefreshScope这个注解存在于spring cloud context规范包中 它的作用就是允许在服务运行的过程中 在加了 Value注解的类上加上 RefreshScope注解 那么这个属性就能够实时地动态刷新其属性值 通常用于服
  • C++11之 unique_ptr

    原文地址为 http www drdobbs com cpp c11 uniqueptr 240002708 在C 11中加入了很多的新特性 unique ptr一枝独秀 对于动态分配的内存对象 它简单有效 虽然它不是万能的 但是它做的已经
  • Java 并发编程中篇 -(JMM、CAS 原理、Volatile 原理)

    并发编程已完结 章节如下 Java 并发编程上篇 Synchronized 原理 LockSupport 原理 ReentrantLock 原理 Java 并发编程中篇 JMM CAS 原理 Volatile 原理 Java 并发编程下篇
  • java实现机房存活主机多线程实现

    主要使用java原生开发 实现多线程ping 在扫描存活主机时能够减少ping的时间提高运行效率 已完成课程设计代码上传中 2022 5 5
  • MySQL最终弹-并发(脏读,不可重复读,幻读及区别),JDBC的使用和安装,最全万字

    一 并发基本概念 并发的基本意思 什么是并发呢 简单的理解就是同一时间执行 服务器同一时刻 给多个客户端提供服务 这两个客户端都可以给服务器提交事务 如果提交两个事务 改不同的表还没啥影响 假如要改相同的表 这时候可能会出现麻烦 二 脏读
  • ubuntu下protobuf安装使用(详解)

    1 安装 1 1安装前的环境 以下几个库都有安装 sudo apt get install autoconf automake libtool curl make g unzip 1 2安装 注意 以下命令在超级用户下执行 sudo apt
  • 机器学习(Machine Learning)&深度学习(Deep Learning)资料

    机器学习 Machine Learning 深度学习 Deep Learning 资料 Chapter 1 注 机器学习资料 篇目一 https github com ty4z2008 Qix blob master dl md 共500条
  • linux中主线程退出后子线程的状态

    1 运行如下代码 即是简单创建一个子线程 主线程直接结束 然后在子线程中每间隔一秒就打印一个HELLO 利用ps ef查看进程状态 发现没有主线程和子线程都不在 即是主线程退出后子线程也会退出 2 运行如下代码 增加利用pthread ex
  • js动态添加与删除ul中的li

    方法一 createElement li 方式方法二 innerHTML方式方法一实例 参考 http zhidao baidu com question 175951279 html
  • 2021-02-05

    一个 C 转 GO 的程序员的自白 GO 一个文件下载过滤需求 var file been found lock sync Mutex var file been found map string int make map string i
  • 我的 PhpStorm 设置

    可能因为 PhpStorm 版本不同的原因 你找不到如下设置的地点 此时可以在设置界面搜索设置项的关键字 软件字体 进入设置 Settings gt Appearance Behavior gt Appearance 勾选Override
  • 华为OD机试真题 Java 实现【报数游戏】【2022Q4 100分】

    一 题目描述 100个人围成一圈 每个人有一个编码 编号从1开始到100 他们从1开始依次报数 报到为M的人自动退出圈圈 然后下一个人接着从1开始报数 直到剩余的人数小于M 请问最后剩余的人在原先的编号为多少 二 输入描述 输入一个整数参数
  • SQL基本的表修改及其它命令

    对于已经建好的表 有时可能因为业务的变动或者设计时考虑的不周全而需要进行列的调整 包 括增加一个新的列 修改一个列 为列定义一个缺省值 删除一个列等 对应语句语法分别如下 ALTER TABLE table ADD column datat
  • pytorch中一维卷积conv1d,参数含义,为何转置

    pytorch中一维卷积conv1d 参数含义 为何转置 在Pytorch中 一维卷积是一种非常常用的运算 但是对于刚刚入门的新手 了解此函数的用法仍是一个比较费力的挑战 本文简单介绍一下此函数的常用参数的意义以及此函数的用法 链接 cov
  • Node.js 利用高阶函数 ( 柯里化 ) 并发写入流、读取流(Stream)

    首先 介绍Stream实例对象的方法 data 读数据时触发 end 数据读取完毕时触发 error 在接收和写入过程中发生错误时触发 finish 所有数据已被写入到底层系统时触发 今天 我们利用node对stream对象的支持 利用高阶
  • 在Windows下使用Anaconda安装TesnsorFlow 2.x

    作者 弗拉德 来源 弗拉德 公众号 fulade me 下载 Anaconda 首先打开Anaconda官网找到网页底部 由于最新的Anaconda支持Python3 8版本 而TesnorFlow最高支持到Python3 7 我特意查了一
  • java.lang.IllegalStateException: Failed to load ApplicationContext

    问题描述 mvn clean install的时候报的如下异常 紧接着又往下翻了一下日志还有一个这个错误 按正常来说通过 可以取pom当中的properties标签的值呀 但是可以发现编译过后的application当中的值并没有被替换 解