繁体   English   中英

无法在 Visual Studio 代码中运行 Eclipse Java 项目(无法找到或加载主类)

[英]Cannot run Eclipse Java project in visual studio code (Could not find or load main class)

我想从 Eclipse 转移到 Visual Studio Code,我可以完全打开项目。 Visual Studio Code 可以识别.classpath ,反之亦然。

Visual Studio Code 可以像 Eclispse 一样识别 Java 项目。

然后我使用 Main 方法将 go 复制到 java 文件并运行。 它显示错误为

错误:找不到或加载主 class com.untitled.game.Game 原因:java.lang.ClassNotFoundException:com.untitled.game.Game

我从未安装 Code Runner,我尝试通过清理 java 服务器工作区来清理工作区,但没有任何效果。 它仍然有同样的问题。

但是这个项目之前在Eclipse可以运行,从来没有出过问题。

附言。 在我按照这个说明进行操作之后 我可以在 VS Code 中创建 Java 项目并正常运行。 但是如果我从 Eclipse 运行 Java 项目,它仍然有同样的问题。 (java.lang.ClassNotFoundException)

在 VS Code 中创建 Java 项目并运行该项目。

PS.1 如果我的 Java 项目不在 Windows 驱动器中,VS Code 仍然显示错误,尽管重新配置.setting与从 VS Code 新创建的 Java 项目相同。

最后,我可以使用.vscode文件夹中的设置在 vscode 中运行 Eclipse java 项目。

首先正常打开Java工程文件夹。

然后在项目的根目录下创建文件夹.vscode并创建两个文件, settings.jsonlaunch.json

settings.json文件中,添加项目配置如下。

{
    "java.project.sourcePaths": ["src"],
    "java.project.outputPath": "bin",
    "java.project.referencedLibraries": [
        "lib/**/*.jar"
    ]
}

再次运行项目,会看到报错,不用担心,vscode会自动添加配置。 launch.json文件中,你会看到这样的配置。

{
  "configurations": [
    {
      "type": "java",
      "name": "Launch Game",
      "request": "launch",
      "mainClass": "com.untitled.game.Game",
      "projectName": "Alien Hunter",
    }
  ]
}

如果运行位置在 Windows 驱动器之外的项目,它仍然会出错,因为它将-cp "path"命令缩短到保存在%temp%文件夹中并在运行项目时调用的.argfile文件中。

添加配置以解决问题。

"shortenCommandLine": "none"

如果Eclipse有原生库,以我的项目为例,我使用的是LWJGL ,我会添加如下配置。

"vmArgs": "-Djava.library.path=lib/lwjgl/native/windows"

如果项目中有资源在src文件夹之外的其他文件夹,比如res文件夹,右键点击该文件夹, select Add Folder to Java Source Path ,项目就可以访问资源文件了。

启动.json

{
  "configurations": [
    {
      "type": "java",
      "name": "Launch Game",
      "request": "launch",
      "mainClass": "com.untitled.game.Game",
      "projectName": "Alien Hunter",
      "vmArgs": "-Djava.library.path=lib/lwjgl/native/windows",
      "shortenCommandLine": "none"
    }
  ]
}

欢迎来到 SO。你是刚开始使用 vscode 吗? 如果是,请检查Java解释器是否选择正确,是否安装了几个必要的扩展,必要的扩展在本文中有提到。 我希望他们能帮助你。

暂无
暂无

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

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