Я хочу перейти с Eclipse на Visual Studio Code, я могу полностью открыть проект. Visual Studio Code может распознавать .classpath
и наоборот.
Код Visual Studio может распознавать проект Java так же, как и Eclispse.
Затем я перехожу к java-файлу с методом Main и запускаю. Он показывает ошибку как
Error: Could not find or load main class com.untitled.game.Game Caused by: java.lang.ClassNotFoundException: com.untitled.game.Game
Я никогда не устанавливаю Code Runner, и я пытался очистить рабочее пространство, очистив рабочее пространство java-сервера, и ничего не работает. У него все еще есть такая же проблема.
Однако этот проект можно было запустить в Eclipse и раньше, и проблем не возникало.
PS. После того, как я выполнил этот инструкция., я могу создать проект Java в VS Code и работать правильно. Но если я запускаю Java-проект из Eclipse, у него все та же проблема. (java.lang.ClassNotFoundException)
PS.1 Если мой проект Java не находится на диске Windows, код VS по-прежнему показывает ошибку, хотя и перенастроен .setting
так же, как проект Java, только что созданный из кода VS.
Да, я уже установил Language Support for Java(TM) от Red Hat.
bin
и проверьте, будет ли он воссоздан при редактировании и сохранении соответствующего файла .java. Посмотрите внутри .argfile, который содержит аргументы, включена ли папка bin
в путь к классам.
@howlger Я попытался удалить все файлы в папке bin
и запустить снова, все равно возникает та же ошибка, и файлы class
не создаются.
Когда файлы .class
в папке bin
не создаются повторно, ваш проект настроен неправильно.
Как я могу снова перенастроить проект Java Eclipse в VS Code?
Создайте новый проект Java и сравните файл .project
и .classpath
и папку .settings
с файлами существующего проекта.
Наконец, я могу запустить проект Java с VS Code, но только если проект находится на диске Windows, на другом диске, таком как D :, это все равно вызывает ошибку java.lang.ClassNotFountException
, потому что он создает .argfiles
в папке %TEMP%
, с другой стороны, недавно созданный java-проект из кода vs может работать, даже если он находится не на диске Windows или диске C :.
Добро пожаловать в SO. Вы только начинаете использовать vscode? Если да, проверьте, правильно ли выбран интерпретатор Java, установлены ли несколько необходимых расширений и упомянуты ли необходимые расширения в этом статья. Я надеюсь, что они могут помочь вам.
Ваша проблема решена? Я думаю, мне нужно больше информации, чтобы помочь вам справиться с проблемой
Извините, я вернулся в Eclipse на некоторое время, после того, как я выполнил этот инструкция, я могу создать проект Java в VS Code и работать правильно, но если я запускаю проект Java из Eclipse, у него все еще есть та же проблема.
Думаю, можно начать с причины ошибки «ClassNotFound». Поскольку vscode может быть создан и запущен в обычном режиме, я думаю, что это может быть вызвано некоторыми различными конфигурациями между eclipse и vscode. Мы можем исключить и проанализировать их один за другим в соответствии с содержанием, представленным в этой статье: stackoverflow.com/questions/18093928/….
Наконец, я могу запустить java-проект Eclipse в vscode с настройками из папки .vscode
.
Сначала откройте папку проекта Java в обычном режиме.
Затем создает папку .vscode
в корне проекта и создает два файла, settings.json
и launch.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"
в .argfile
, которая сохраняется в папке %temp%
и вызывается при запуске проекта.
Добавьте конфигурацию, чтобы решить проблему.
"shortenCommandLine": "none"
Если в Eclipse есть нативная библиотека, в случае моего проекта я использую LWJGL
, я добавлю конфигурацию следующим образом.
"vmArgs": "-Djava.library.path=lib/lwjgl/native/windows"
Если у проекта есть ресурсы в другой папке за пределами папки src
, например, в папке res
, щелкните папку правой кнопкой мыши и выберите 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"
}
]
}
VS Code не поддерживает Java без дополнительного расширения. Установили ли вы расширение для поддержки языка Java, и если да, то какие именно расширения? С Языковая поддержка Java(TM) от Red Hat вы перейдете с Eclipse на Eclipse с VS Code в качестве пользовательского интерфейса.