JDK11 / JavaFX: ¿Cómo puedo hacer un tarro de grasa sin la gestión de acumulación / depdency?

chrips:

Creo que no hace falta decir que yo debería ser capaz de usar el propio JDK de Oracle con JavaFX (de gluonhq) para construir un archivo jar distribuibles que los usuarios sólo puede utilizar.

Después de una búsqueda exhaustiva, tanto de lectura (24 horas o más en los últimos meses) y, finalmente, esta consulta de búsqueda de Google:

how to make a fat jar -maven -gradle -scala -eclipse -ant -docker -hadoop -netbeans -jerkar -phy -mozni -yogurt -pizza - throwing -python -bacon

Estoy absolutamente al final de la carretera. ¿Por qué demonios es esto tanto trabajo? ¿Cómo puedo crear una aplicación JavaFX y darle a las personas que quieren hacer uso de ella sin saber nada más, excepto el uso de la aplicación en sí misma?

José Pereda :

Esto ha sido contestada unas cuantas veces ya para Maven y Gradle . Herramientas de construcción hacen cosas a la manera más fácil que hacerlo en la línea de comandos, y no sólo debido a la gestión de la dependencia.

Ya que preguntas específicamente sobre la línea de comandos, ya existe un conjunto completo de instrucciones documentadas por ello aquí: https://openjfx.io/openjfx-docs/#modular .

No aplicación modular

La sección de Non-Modular from CLIfundas JavaFX proyectos no modulares de línea de comandos, y le da todo el conjunto de instrucciones para crear un viejo tarro de grasa clásico, donde todas las dependencias, incluyendo las JavaFX, se agrupan todos juntos.

Hay una nota que advierte que no utilice este procedimiento:

Advertencia: Este es un proceso manual propenso a errores tediosa desanimado que debe ser evitado mediante el uso de plug-in de la sombra Maven o tarea tarro del Gradle, en el caso de JLINK no es aplicable.

Después de obtener el tarro de grasa (que puede ser multiplataforma), puede distribuirlo, y el usuario tendrá que tener Java instalado y ejecutado:

java -jar myFat.jar 

Aplicación modular

La sección Modular from CLIabarca proyectos modulares JavaFX desde la línea de comandos, y se refiere a la utilización del jlinksistema, en términos de distribución, ya que crea una imagen personalizada que se puede enviar a los usuarios. No es un tarro de grasa, pero le permitirá el envío de una postal a su usuario que sólo necesita ser descomprimido y correr como:

hellofx/bin/java -m hellofx/hellofx.HelloFX

En este caso, el usuario no tendrá siquiera necesita tener instalado Java.

Y con un poco de trabajo extra también puede crear un lote, para que pueda ejecutar:

hellofx

Sin embargo, si todavía quiere hacer un tarro de grasa con una aplicación modular, todavía se puede aplicar exactamente las mismas instrucciones de las aplicaciones no modulares. En este caso, es probable que tenga que quitar el module-info.javaarchivo, ya que en realidad no tiene sentido en este punto.

Otras opciones

Todavía tiene algunas opciones más para distribuir su aplicación.

imagen personalizada de Java + JavaFX

Otra opción, cubierto en el mismo documento, la sección de imagen personalizada JDK + JavaFX, explica cómo crear su propia "JDK" que incluye JavaFX. A continuación, se producirá el frasco como es habitual en Java 8 y usted será capaz de ejecutarlo con:

/path/to/custom/java -jar myFat.jar

Tenga en cuenta que ya hay algunas distribuciones de JDK paquete JavaFX, como este uno .

jpackage

jpackageherramienta aún no está ahí, pero hay un acceso temprano: http://jdk.java.net/jpackage/ , que utiliza Java 13-interno. La salida de la documentación explica cuáles son las opciones de línea de comandos que necesita para producir una imagen personalizada o un instalador.

Tenga en cuenta que todavía puede utilizar JavaFX 11 o 12 con esto.

herramientas de construcción

Y, por último, todavía puede decidir utilizar herramientas de construcción (Maven o Gradle), que realmente le ayudará en muchos aspectos. Ver ninguna de las cuestiones vinculadas anteriores.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=179683&siteId=1
Recomendado
Clasificación