Saltar al contenido

JavaFX-11 con VSCode

este problema se puede abordar de variadas formas, pero nosotros te damos la que en nuestra opinión es la respuesta más completa.

Solución:

Voy a ejecutar la muestra de HelloFX para Eclipse desde las muestras de OpenJFX.

Después de abrir la muestra con VSCode, veo el error informado: [Java] The import javafx cannot be resolved [268435846].

Error de JavaFX

Esto obviamente significa que las clases de JavaFX no se resuelven, e incluso si hay una entrada en el archivo .classpath:


esta biblioteca no se puede resolver.

Resolviendo JavaFX SDK

Así que voy a reemplazar esa variable con los frascos reales de mi SDK JavaFX local:





Después de actualizar el proyecto, puedo ver debajo JAVA DEPENDENCIES estos frascos.

SDK de JavaFX

Si bien el error parece resuelto, el proyecto aún no se construye.

Resolviendo JRE

Necesitamos configurar JDK 11 para el proyecto, así que descárguelo desde aquí. Luego abra Eclipse y agréguelo a los JRE instalados. Veo debajo Java -> Installed JREs -> Execution Environments que el nombre de la versión 11 es JavaSE-11.

El .classpath El archivo del proyecto helloFX también contiene una referencia al JRE:


    
        
    

así que voy a reemplazar JDK11 con JavaSE-11y actualice el proyecto. Puedo ver debajo JAVA DEPENDENCIES que hay una referencia a JRE System Library [JavaSE-11].

Resolviendo JAVA_HOME

Necesitamos configurar el java.home en VSCode.

Esto se puede hacer en el settings.json desde `Preferencias-> Configuración-> Configuración del espacio de trabajo:


   "java.dependency.packagePresentation": "hierarchical",
   "java.home":"/Users//Downloads/jdk-11.0.2.jdk/Contents/Home"

JavaHome

Después de modificarlo, aparecerá una ventana emergente con el mensaje Java Language Server configuration changed, please restart VS Code., así que reinícielo.

Probándolo

Podemos ver que no hay errores, incluso hay un bin carpeta con el resultado de la compilación que VSCode hace automáticamente.

¿Podemos ejecutarlo? Si lo probamos, obtendremos un error:

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

Falta el error JavaFX

Este es el error que obtiene cuando usa JavaFX 11 sin especificar la ruta del módulo.

Resolver argumentos de VM

El paso final consiste en agregar los argumentos vm requeridos.

Esto se puede hacer en el launch.json Archivo. Contiene una configuración por defecto, que podemos modificar añadiendo una nueva entrada para el vmArgs incluyendo el --module-path con la ruta local al SDK de JavaFX y --add-modules con los módulos JavaFX necesarios:


    "configurations": [
        
            "type": "java",
            "name": "CodeLens (Launch) - Main",
            "request": "launch",
            "vmArgs": "--module-path /Users//Downloads/javafx-sdk-11.0.2/lib
                --add-modules javafx.controls,javafx.fxml",
            "mainClass": "hellofx.Main",
            "projectName": "hellofx"
        
    ]

Ahora tenemos todo listo.

Ejecute el proyecto nuevamente y debería funcionar.

Ejecutando JavaFX 11

Tenga en cuenta que soy un usuario de VSCode por primera vez, por lo que es posible que me haya perdido algo obvio, y tal vez algunos de estos pasos podrían evitarse o simplificarse.

Te mostramos reseñas y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *