Java Main无法初始化主类的原因与解决方法(VsCode工具)

个人操作

  1. 由于上传git将target目录也上传了
  2. 所以在本地删除target之后再重新同步更新动作
  3. 然后直接在vscode工具上run本地项目
  4. 运行报错,报错信息如下

报错信息

在这里插入图片描述

分析原因

1. 工具配置
用 VS Code 的“Run”运行按钮时,是否会自动编译,取决于你的 VS Code Java 扩展与启动配置。默认情况下,“Run”并不等同于执行 mvn compile 或 mvn package,所以删掉 target 后不一定会自动重建。
2. 本质
本质原因就是:Java 项目需要先编译生成字节码(class/jar),再运行。你删了 target 后,如果运行流程没有触发“重新编译”,运行期就找不到需要的类,导致 NoClassDefFoundError 等错误。
3. 关键点
Java 先编译(javac 或通过 Maven/Gradle)→ 产出到 target/classes 或 build/classes。
运行(java、IDE 启动、Spring Boot)依赖这些已编译的产物作为 classpath。
VS Code 的“Run”按钮并不必然执行编译阶段,需配置 preLaunchTask 或使用能自动构建的运行方式。

解决方案

方案一(永久解决方案)

打开 .vscode/tasks.json,添加:
Maven 项目: { “label”: “mvn compile”, “type”: “shell”, “command”: “mvn -q -DskipTests compile” }
Gradle 项目(任选其一): { “label”: “gradle classes”, “type”: “shell”, “command”: “gradle classes” }
打开 .vscode/launch.json,在对应配置里加: “preLaunchTask”: “mvn compile” 或 “preLaunchTask”: “gradle classes”

方案二(临时方案)

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

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

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

相关文章

Azure Kubernetes Service (AKS)

Overview AKS(Azure Kubernetes Service) 是 Microsoft Azure 提供的一种托管Kubernetes 服务,旨在简化 Kubernetes 集群的部署、管理和操作。轻松运行和扩展基于容器的应用程序,而无需管理 Kubernetes 本身的基础设施。 AKS与 …

基于SpringBoot的校园信息共享系统【2026最新】

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

PyTorch API 3 - distributed

文章目录分布式通信包 - torch.distributed后端支持PyTorch 内置的后端选择哪个后端?常见环境变量选择使用的网络接口其他NCCL环境变量基础概念初始化返回类型:boolTCP初始化共享文件系统初始化环境变量初始化方法初始化后操作关闭处理重新初始化组Devic…

【K8s】整体认识K8s之Docker篇

首先认识几个名词,Docker-ce是docker的社区版本,提供给各种构建、发布、运行容器的工具;docker-ce-cli是社区版本的命令行工具,与docker守护进程进行交互;containerd.io是docker运行时(containerd&#xff…

【机器学习】7 Linear regression

本章目录 7 Linear regression 217 7.1 Introduction 217 7.2 Model specification 217 7.3 Maximum likelihood estimation (least squares) 217 7.3.1 Derivation of the MLE 219 7.3.2 Geometric interpretation 220 7.3.3 Convexity 221 7.4 Robust linear regression * 2…

【卫星通信】超低码率语音编码ULBC:EnCodec神经音频编解码器架构深度解析

引言 EnCodec是由Meta AI提出的一种端到端神经音频编解码器架构,其核心目标是在保证音频质量的前提下实现高压缩比和低带宽传输。该模型通过结合卷积神经网络、残差矢量量化(Residual Vector Quantization, RVQ)、多尺度对抗训练以及Transfor…

08_正则表达式

第8课:正则表达式 课程目标 理解正则表达式的基本概念 掌握常用的正则表达式模式 学习Python中re模块的使用 能够编写简单的正则表达式 1. 正则表达式基础 1.1 什么是正则表达式 正则表达式是一种用于匹配字符串模式的工具,可以用于搜索、替换和验证文本。 1.2 基本语法 …

小迪安全v2023学习笔记(七十一讲)—— Python安全反序列化反编译格式化字符串安全

文章目录前记WEB攻防——第七十一天Python安全&反序列化利用链&PYC文件反编译&格式化字符串安全Python - PYC-反编译文件出源码介绍演示Python - 反序列化-调用链&魔术方法各类语言序列化和反序列化函数序列化和反序列化含义Python中常用的序列化/反序列化函数…

Linux->多线程2

目录 本文说明: 一:线程互斥 1:缺乏互斥的抢票系统 2:抢票系统分析及概念回顾 3:互斥锁 ①:相关接口 a:定义锁 b:初始化锁 c:加锁 d:解锁 e&#x…

[OpenVela] 音乐播放器1.0

code: https://github.com/lvy010/vela/tree/main/music_player OpenVela 音乐播放器 基于 OpenVela 系统的嵌入式音乐播放器,使用 LVGL 图形库开发,支持 Wi-Fi 连接和本地音频播放。 📋 目录 项目简介功能特性系统要求项目结构快速开始配…

学习 Android (十六) 学习 OpenCV (一)

学习 Android (十六) 学习 OpenCV (一) 在前几个章节中,我们对 NDK 相关的开发有了一定的了解,所谓磨刀不误砍柴工,有了这些基础的知识储备之后,我们可以来简单上手一下 OpenCV 相关的知识,接下来跟随作者一起来学习吧…

人工智能之数学基础:离散型随机变量

本文重点 前面我们介绍了随机变量具有两个类型,一个类型是离散型随机变量,另外一个类型是连续型随机变量。我们先来学习离散型随机变量。 离散型随机变量 离散型随机变量 X 所有可能取的值为X1,X2...,并且有: 则称 p1 , p2, … 为离散型随机变量 X 的概率质量函数。其中 …

【Java开发日记】我们来讲一讲 Channel 和 FileChannel

目录 Channel FileChannel 打开 FileChannel 从 FileChannel 读数据 写数据到 FileChannel 关闭 FileChannel 示例 读数据 写数据 Channel 在 NIO 中,Channel 和 Buffer 是相辅相成的,只能从 Channel 读取数据到 Buffer 中,或者从 …

【力扣】2623. 记忆函数——函数转换

【力扣】2623. 记忆函数——函数转换 文章目录【力扣】2623. 记忆函数——函数转换一、题目二、解决方案1、概述1.1纯函数2、在Web开发中的记忆化用途2.1缓存网站文件(1)React 组件(2)缓存 API 调用3、算法中的记忆化4、专业实现的…

数据结构 -- 队列

队列的核心定义队列是受限线性表,仅允许在一端(队尾)插入元素、另一端(队头)删除元素,遵循 “先进先出(FIFO,First In First Out)” 原则。队列的结构与操作端队尾&#…

为什么hive在处理数据时,有的累加是半累加数据

在 Hive 处理数据时,“半累加数据” 指的是部分字段保留历史状态、部分字段随业务变化累加或更新的场景,这种模式广泛存在于需要兼顾 “历史追溯” 和 “增量更新” 的业务中。以下是具体例子,帮助理解其本质:例子 1:用…

【贪心算法】day2

📝前言说明: 本专栏主要记录本人的贪心算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;&#xff…

Spring Boot整合RabbitMQ进阶实战:TTL、死信队列与延迟队列深度解析

Spring Boot整合RabbitMQ进阶实战:TTL、死信队列与延迟队列深度解析 一、TTL机制深度解析:从原理到落地 在RabbitMQ的消息生命周期管理中,TTL(Time-To-Live) 是核心机制之一——它通过设置消息的"存活时长"&…

最新react,vue 解决无法使用js触发点击,解决方案

const elements document.getElementsByClassName(remove-btn-eIaRy9 select-none semi-dropdown-item);if (elements.length > 0) {const element elements[0];const rect element.getBoundingClientRect();// 模拟鼠标移动到元素上const mouseOverEvent document.crea…

一键部署开源 Coze Studio

文章目录一、简介1、什么是 Coze Studio2、参考地址二、安装部署1、安装docker2、安装git3、下载core4、配置公网可用5、登录成功一、简介 1、什么是 Coze Studio Coze Studio 是一站式 AI Agent 开发工具。提供各类最新大模型和工具、多种开发模式和框架,从开发到…