Java is required to run this application

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

URGENT- «Java 11 or more recent is required to run. Please download and install a recent JDK» #1543

URGENT- «Java 11 or more recent is required to run. Please download and install a recent JDK» #1543

Comments

I don’t understand why today I’m getting this error. Managed to temporarily solve this by downgrading Language Support for Java(TM) by Red Hat to 0.64.1.

image

image

Environment
  • Operating System: Windows_NT x64 10.0.20161 (remote ssh to ubuntu 18)
  • JDK version: Open jdk 8
  • Visual Studio Code version: 1.47.2 (user setup)
  • Java extension version: 0.9.1
  • Java Debugger extension version: 0.27.1
Читайте также:  Javascript codes for cookies

The text was updated successfully, but these errors were encountered:

@akaroml @jdneo @testforstephen @Eskibear can you make sure the Java extension pack JDK requirements align with vscode-java?

So I can still run my project without making changes, I just have to use jdk 11? Or did I misunderstand?

Do I need to migrate my projects to Java 11?

NO you don’t! Well you should, be we’re not here to judge. It is still possible to compile/run Java applications from Java 1.5 to 14, provided the proper java.configuration.runtimes are configured in the user’s settings.json.

Even without setting java.configuration.runtimes , if you only have JDK 11 (or more recent) configured to run vscode-java, provided your project define compilation source/target, nothing will change

@shanewaz-abbas What are the steps you took to downgrade to 0.64.1? My company and most are reliant on Java 8, not 11 so this change is messing a lot of programmers up.

@seanGammage you can still compile your projects with Java 8. JDK11 is only required to run vscode-java. See https://github.com/redhat-developer/vscode-java/wiki/JDK-Requirements for more details

Hey @seanGammage it seems like you can point to jdk 11 and it wouldn’t impact running the project, though I haven’t tried it as I am busy at the moment, and the downgrade was sufficient for me. To downgrade, you just have to go the java extension page and install another version and then reload.

image

I noticed the new version tries to detect the language version used by the project (JavaSE-1.5) — how do I manage these? Any config? All these projects are not Maven/Gradle but are old Eclipse projects using IVY, so I can’t just go ahead and modify them mindlessly. What I found out that there were some old Eclipse extension-settings stored with source-level set to 1.5 — I adjusted them to 1.8 (like the projects now require). But in the status bar there was still the JavaSE-1.8 mentioned . in the old version everything worked in that regard, there weren’t any issues with the projects.

For now I also downgraded, until I get to understand how the runtime-configs work and how I can assign them to my Eclipse legacy-projects. I tried to config it like this:

 "java.home": "C:\\AdoptOpenJDK\\jdk-11.0.8.10-hotspot", "java.configuration.runtimes": [ < "name": "JavaSE-1.8", "path": "C:\\Java\\openjdk8u181-b13", >, ], 

A bit off-topic but while we’re at it: The Eclipse-Importer seems to ignore the «java.import.exclusions» config completely.

@thiscantbeserious Basically, the setting java.configuration.runtimes won’t change the language level of your project (except for the standalone files). This setting is used to tell the language server where different versions of the JDK are installed. The language server will pick up the matchest one according to your project’s configuration.

Would you mind to share the content of this file .settings/org.eclipse.jdt.core.prefs

That’s the file(s) that previously had source-level set to 1.5 — I’ve adjusted these for the other projects and it happened to work fine judging from the code-completion for example with lambdas. From my quick test the new version didn’t happen to catch it up in the status-bar . I can’t update to the new version right now since I need to finish a task but I’ll try it later and will report back if there’s any issues or if it was just a hiccup. Indeed I’m using the above config running the extension with OpenJDK 11 for now . and it seems to work fine on 0.64.1, so at least that shouldn’t be a blocker for me.

eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning org.eclipse.jdt.core.compiler.problem.autoboxing=ignore org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.unusedLocal=warning org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.8 

Источник

Error: JavaFX runtime components are missing, and are required to run this application

При запуске на компьютере выдаёт ошибку выполнения JavaFX: Error: JavaFX runtime components are missing, and are required to run this application Может кто-нибудь сможет подсказать, что я не правильно установил?))

Ага, отлично, а что делать если эта ошибка выскакивает после компиляции, когда уже Jar файл запускаешь. там уже нет проджект.сеттингс

значить у ваш джар файл не потрапив джарнік із JavaFX треба зробити так, щоб він там був. можете в ідеї підключити бібліотеку просто (Project Structure -> Libraries -> +). це якщо ви джарнік робите теж ідеєю, звісно

Спасибо всем за комменты. Всё перечитал, чего только не перепробовал, потом плюнул, просто подключил JavaFX, и решил начать все заново и неожиданно заработала!)

скачал последний javafx, и из него(из папки) в интелиджи добавил библиотеки (файл-проджект структур-библиотеки) мне помогло

Спасибо, помог твой совет и чела на пару комментов ниже который говорил прописать VM Options. Для всех остальных, если в самом начале всё запускается, но не вылазит никакого окна, а должно, то пропишите в методе main «launch()»

Ковырялся около 4 часов, выдавало разные ошибки, но потом наткнулся на одно видео https://www.youtube.com/watch?v=Ope4icw6bVk , хоть и на английском, но всё предельно понятно, советую.

Скачиваем: Скачиваем JavaFX Распаковываем его где у вас лежит JDK, как правило где-то: C:\Program Files\Java Заходим в Intellij Idea -> Run ->Edit Configuration -> справа синим написано modify option -> жмем туда, там — add VM option появится дополнительная строка, куда прописываем: Вот тут самая нижняя строка —module-path «\path\to\javafx-sdk-18.0.2\lib» —add-modules javafx.controls,javafx.fxml вместо «\path\to\» должно быть C:\ путь где лежит скачанный и распакованный SDK, я его положил в общую папку где все JDK лежат.

Заработало с первого раза после просмотра видео! https://www.youtube.com/watch?v=Qn5pKWkaGps Тут пример для macOS

Уф. Долго разбирался — мне ничего не помогало из этого видео и совета из @NextGenSeafarer пока не допёр что в : Run -> Edit Configurations надо сначала в выпадающем списке Modify Options выбрать Add VM Options как в инструкциях, и только потом добавить в появившееся поле вот это: —module-path «C:\Downloads\javafx-sdk-18.0.1\lib» —add-modules javafx.controls,javafx.fxml P.S. до есть добавление этой строки ни в Help-Edit Custom VM Options, ни ещё куда не работало!

Ну не конкретно эту строку=))) А вот так: —module-path «ВАШ ПУТЬ ДО БИБЛИОТЕК JAVAFX» —add-modules javafx.controls,javafx.fxml Потому что если она будет у меня лежать в другом месте, то работать ничего не будет.

Вот тут святой человек все разжевал донельзя: https://www.youtube.com/watch?v=Qk9JYTCJjRo Ставим скорость х1.5 и делаем.

Всем, кто из 2022, как сделала я: 🥑Создаете новый проект в IDEA 🥑Выбираете JavaFX ( меню слева ) 🥑В additional libraries выбираете все возможные библиотеки 🥑Запускаете изначальный проект, чтобы проверить, что всё работает, должно появится окно с кнопкой «Hello» 🥑Далее просто в этом же проекте через плагин JavaRush устанавливаете задачник в папку с вашим FX проектом и открываете вашу игру 🥑Profit!? ?!

Источник

Оцените статью