vscode Springboot 启动debug报错:Build failed, do you want to continue?
一,前言
vscode我感觉是一个特别好用的开发工具,我根据文章https://www.cnblogs.com/WangBoBlog/p/9464281.html去搭建一个简单的springboot工程,但是在这个过程中确遇到了一个问题:
按F5调试模式启动的时候,vscode的左下角弹出了一个提示:提示说编译失败,要不要继续启动?提示截图如下:
本文接下来记录了解决这个问题的思路
二,出问题前的另一个小坑
按照文章(https://www.cnblogs.com/WangBoBlog/p/9464281.html)中步骤1-3操作都很顺利,在此也对作者表示感谢。
但是到了第四步的时候,按照文章上的步骤,打开的配置文件与文章中的不一致,猜测是vs版本的不同导致的。
我的操作步骤如下。
1,打开调试界面(就是vscode界面左侧中的小虫子)然后点击添加配置
2,然后会弹出一个开发语言选择框,我们这里选择java
3,ok,到这里就可以按F5启动调试模式了。
三,真正的问题出现
按照上一步,我们成功的启动了调试模式,但是在访问localhost:8080时,会出现找不到页面的错误(这是因为我们的springboot程序没有提供任何可以访问的路径):
那么我们就新建一个controller包和一个IndexController的控制器,代码如下:
ok,心里想着见证一起的时候来了,殊不知,在按下F5的是时候出现的错误
四,动手解决问题
出现了问题不要慌,解决就好。
这个时候就出现了一个很尴尬的情况,我觉得是vscode做的不够好的地方:虽然搞诉我出现了错误,但是没有告诉我错误的原因或者详情。
只好点击Learn More来寻找答案,点击之后就进入了一个vscode的官方网站,并确直接定位到错误信息的地方(赞),如下图:
vscode针对这个错误给了两个解决方案:
1,打开“问题”视图,检查代码错误并修复错误,其实就是告诉我,可能是我自己写的代码的问题
2,通过第一步排除了代码的问题,那只能是扩展的问题了,我们点击脸色的英文字,继续追查问题,截图如下:
这里是对java debug工作的一些说明,让我确认java扩展是否在正常工作,如果没有正常工作给了我四个方案去处理。
经过检查vscode 发现我的扩展是正常工作的(英文右下角有大拇指图表)
五,再次陷入尴尬
经过第四步对问题的追查,发现似乎一切vscode和java扩展都是正常的。同时我的代码也是没有问题的,仿佛陷入了一种无计可施的局面。
也许是命中注定,神奇的是,我用鼠标点击了一下那个说明扩展正常运行的“大拇指”,惊喜的发现如下错误信息:
简单的来说,这段信息告诉我,在编译工作空间的时候出现了一个错误,一个class文件没有写入,工程可能不一致,如果是这样请刷新工程重新编译,resource后面的路径不就是我新增的controller吗?
打开项目所在文件夹,在target中找到IndexController所在的目录,确实没有编程出class文件。
六,解决问题与遗留的疑问
解决方法:找到没有编译的java文件,随便找个地方,打几个空格然后保存,就会编译出class文件了。
遗留的疑问:虽然这个方法可以编译出class文件,但是治标不治本,还请相关的大神看到这篇文章后给与指导
vscode Springboot 启动debug报错:Build failed, do you want to continue?的更多相关文章
- Springboot 启动文件报错,原因是@ComponentScan写成了@ComponentScans
Springboot 启动文件报错,原因是@ComponentScan写成了@ComponentScans
- (转)启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结
启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结 原文:http://blog.51cto.com/11863547/19059 ...
- AndroidStudio新建项目报错build failed
AndroidStudio新建项目报错build failed 报错信息 org.gradle.initialization.ReportedException: org.gradle.interna ...
- spring boot 启动遇到报错:Failed to configure a DataSource
spring boot 启动遇到报错,具体如下 Description: Failed to configure a DataSource: 'url' attribute is not speci ...
- 关于springboot启动时候报错:springboot Failed to parse configuration class [Application]
把运行的java类放在一个package下后就不再提示这个错误. 使用的ide是intellij,之前也有因为没有创建package报错的经历,可能这是intellij必须的
- Springboot 上传报错: Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceede
Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The ...
- cocos run -p android报错 BUILD FAILED ..\ant\build.xml:892
使用编译指令生成apk文件时,出现这个错误,是因为重复引用了..\YourGame\cocos2d\cocos\platform\android\java\bin\classes.jar文件. 为什么 ...
- SpringBoot启动zipkin-server报错Error creating bean with name ‘armeriaServer’
目前,GitHub 上最新 release 版本是 Zipkin 2.12.9,从 2.12.6 版本开始有个较大的更新,迁移使用 Armeria HTTP 引擎. 从此版本开始,若直接添加依赖的 S ...
- SpringBoot启动zipkin-server报错Error creating bean with name ‘armeriaServer’ defined in class path resource
目前,GitHub 上最新 release 版本是 Zipkin 2.12.9,从 2.12.6 版本开始有个较大的更新,迁移使用 Armeria HTTP 引擎. 从此版本开始,若直接添加依赖的 S ...
随机推荐
- Oracle cursor学习笔记
目录 一.oracle库缓存 1.1.库缓存简介 1.2.相关概念 1.3.库缓存结构 1.4.sql执行过程简介 二.oracle cursor 2.1.cursor分类 2.2.shared cu ...
- mybatis 源码分析(五)Interceptor 详解
本篇博客将主要讲解 mybatis 插件的主要流程,其中主要包括动态代理和责任链的使用: 一.mybatis 拦截器主体结构 在编写 mybatis 插件的时候,首先要实现 Interceptor 接 ...
- INSERT: 批量插入结果集方式
INSERT: 批量插入结果集 insert into table select x,y from A UNION select z,k from B ; insert into table sele ...
- Mybatis的一级缓存和二级缓存的理解以及用法
程序中为什么使用缓存? 先了解一下缓存的概念:原始意义是指访问速度比一般随机存取存储器快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术.对于我们编程来说,所谓的 ...
- Unity之与Web的交互
一.下载,安装,配置,启动Apache 1.进入官网下载Apache 2.解压到根目录 3.记事本打开如下配置文件 4.安装apache 5.出现错误:(该错误是由于端口被占用引起的) 6.修改配置文 ...
- macbook 安装redis流程及问题总结
Mac安装redis流程和总结 一.redis安装流程: 1.进入redis官网-->点击download-->选择稳定版本(stable)-->点击Download即可. 2.将下 ...
- JavaScript Array 数组方法汇总
JavaScript Array 数组方法汇总 1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度 var arr = [1,2,3,4,5] console.log(arr.p ...
- 用故事解析setTimeout和setInterval(内含js单线程和任务队列)
区别: setTimeout(fn,t): 延迟调用,超过了时间就调用回调函数,返回一个id,使用clearTimeout(id)取消执行. 注意:取消了里面的回调函数就不执行了哦,而不是取消的时候就 ...
- [python]文档字符串
文档字符串可以在运行时访问,也可以用来自动生成文档. 输入: def foo(): print "This is a doc string" return True foo() 运 ...
- Windows平台python验证码识别
参考: http://oatest.dragonbravo.com/Authenticate/SignIn?returnUrl=%2f http://drops.wooyun.org/tips/631 ...