繁体   English   中英

VS Code 无法正确运行非 Spring Maven 项目

[英]VS Code can not run non-Spring Maven project correctly

如果这是一个重复的问题,我必须道歉,但我先用谷歌搜索,但没有得到有用的答案。

描述

今天,我正在尝试从想法迁移到VS代码,但是在运行非SPRING Z9115C10980645C4131313F244AC1A377F7Z在VS代码中项目时,它不会在POM.Z0F635DD0E0F3874FF58B581C132E6C77.6C7.6C7.ANFER中运行Exception in thread "main" java.lang.NoClassDefFoundError控制台中的Exception in thread "main" java.lang.NoClassDefFoundError

在这里,我将提供一个简短的示例:

The project shown below use fastjson to parse a Map to JSON string, the fastjson is a maven repository defined in pom.xml .

项目结构

项目结构

App.java

package com.example;

import java.util.HashMap;
import java.util.Map;

import com.alibaba.fastjson.JSON;

public class App {
    public static void main(String[] args) {
        Map<String, String> item = new HashMap<>();
        item.put("a", "1");
        item.put("b", "2");
        System.out.println(JSON.toJSONString(item));
    }
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.example</groupId>
  <artifactId>demo</artifactId>
  <version>0.0.1</version>

  <name>demo</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.78</version>
    </dependency>
  </dependencies>
</project>

VS Code 中显示的 Maven 依赖关系

Maven 依赖项

尝试在 VS Code 中使用Run and Debug运行项目

运行和调试

结果

结果 看,VS Code 没有正确运行这个 Maven 项目。 它没有与 pom.xml 中的依赖项一起运行!

琐事

  1. 我已经为 VS Code 安装Extension Pack for Java
  2. 我什至为 VS Code 安装了Spring Boot Extension Pack
  3. 我已经安装了Maven并配置了相应的环境变量, mvn命令可以在控制台运行
  4. 上面的项目在IDEA中运行正常
  5. Spring 项目可以在 VS Code 中正常运行,但是问题项目是 maven 没有 Spring

帮助

我是否错过了 VS Code 运行 Maven 项目的一些配置? 我应该怎么做才能让它在 VS Code 中正确运行?

您的代码在我的项目中没有引发错误:

在此处输入图像描述

我认为有一个缓存搞砸了,你可以

  1. 转到本地依赖安装文件夹,删除\User folder\.m2\repository\com\alibaba\fastjson\1.2.78
  2. 删除pom.xml中的依赖fastjson
  3. 打开命令面板并选择Java:清理 Java 语言服务器工作区
  4. 重新添加fastjson依赖,按照通知同步项目配置。

好的,最后我自己解决了 VS Code 的问题。 我把我的解决方案放在这里,以防将来有人或我遇到同样的问题。

要解决问题:

1. 我将我的 maven 依赖项路径移动到其他位置:我创建了一个文件夹G:\maven-repo ,并修改了 Z402C5D9AF6B43711EA070BEE5170F74D 的全局settings.xml 。xml 如下:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>G:/maven-repo</localRepository>
</settings>

2.在VS Code的settings.json中,我加了下面这行,指的是第1步的settings.xml在哪里:

"java.configuration.maven.globalSettings": "G:/ideaIU/plugins/maven/lib/maven3/conf/settings.xml"

3.重启VS Code,执行Java: Clean Java Language Server Workspace ,正如@Molly Wang-MSFT所说。

4、再次重启VS Code后,按F5键,项目终于可以正常运行了。

正确地

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM