sql >> Base de Datos >  >> RDS >> Database

Uso de dependencias de módulos, parte 2

Dependencia del módulo se refiere a que un módulo depende o requiere otro módulo. Las dependencias del módulo se introdujeron en Declaración de dependencia en otros módulos sección del artículo "Desarrollo de un módulo con Java 9 en Eclipse IDE, Parte 1". En el primero de dos artículos, "Uso de dependencias de módulos, parte 1", creamos dos proyectos Java para dos módulos, un módulo principal y un módulo de dependencia. No podríamos haber creado ambos módulos en un proyecto de Java porque el IDE de Eclipse no admite varios módulos en un solo proyecto. Habiendo creado dos proyectos, en este artículo de continuación exportaremos cada proyecto a un archivo JAR separado. La exportación y el uso de un módulo como archivo JAR se tratan en un tutorial anterior, "Uso de un módulo Java 9 como archivo JAR". Actualmente no se admite la adición de varios módulos en un solo JAR, pero está previsto para una futura versión de Java. En este artículo, analizaremos la configuración de los dos proyectos Java y la ejecución de la aplicación del módulo principal para demostrar la dependencia del módulo. Este artículo tiene las siguientes secciones:

  • Configuración de la ruta de compilación del proyecto Java principal
  • Exportación del proyecto Java principal a un archivo JAR
  • Exportación del proyecto Java de dependencia a un archivo JAR
  • Agregar una configuración de ejecución
  • Ejecución de la aplicación Java del módulo principal
  • Conclusión

Configuración de la ruta de compilación del proyecto Java principal

Los dos proyectos Java desarrollados previamente tienen errores, como lo indican los marcadores rojos en la Figura 1. Los errores se indican porque los dos módulos están definidos en proyectos separados y el proyecto de dependencia no está en la ruta de compilación del proyecto principal.


Figura 1: Proyectos Java con errores

En esta sección, configuraremos la ruta de compilación para el MainModule proyecto para agregar el HelloJavaModule proyecto a la ruta de compilación. Haga clic derecho en MainModule en el Explorador de paquetes y seleccione Ruta de compilación>Configurar ruta de compilación , como se muestra en la Figura 2.


Figura 2: Explorador de paquetes>Ruta de compilación>Configurar ruta de compilación

En las Propiedades ventana, la ruta de compilación de Java se muestran los ajustes predeterminados, como se muestra en la Figura 3.


Figura 3: Ruta de compilación de Java

Seleccione los Proyectos pestaña y seleccione Modulepath , como se muestra en la Figura 4. Haga clic en Agregar…


Figura 4: Java Build Path>Proyectos>Modulepath>Agregar…

La selección de proyecto requerida ventana muestra el proyecto de dependencia HelloJavaModule , como se muestra en la Figura 5. Seleccione el HelloJavaModule proyecto y haga clic en Aceptar.


Figura 5: Selección de un proyecto para agregar

El HelloJavaModule el proyecto se agrega a Modulepath (ver Figura 6). Haga clic en Aplicar y cerrar .


Figura 6: Proyecto Java HelloJavaModule agregado a Modulepath

Los errores y los marcadores rojos se eliminan del MainModule proyecto, como se muestra en la Figura 7.


Figura 7: Errores eliminados de MainModule

Exportación del proyecto Java principal a un archivo JAR

Agregando el HelloJavaModule proyecto a la ruta de compilación del MainModule El proyecto solo elimina los errores de tiempo de compilación/construcción. Para el tiempo de ejecución, necesitaríamos exportar cada uno de los módulos a un archivo JAR y agregar los archivos JAR a la ruta del módulo de tiempo de ejecución para cuando se ejecute el proyecto. Los archivos JAR deberían exportarse a la misma carpeta para que podamos configurar la ruta del módulo sin hacer referencia a los módulos en todos los proyectos. Como se mencionó anteriormente, aún no se admite un JAR de varios módulos, pero está previsto que se admita en una versión posterior de Java.

Para exportar el MainModule proyecto a un archivo JAR, haga clic con el botón derecho en MainModule en Package Explorer y seleccione Exportar , como se muestra en la Figura 8.


Figura 8: Explorador de paquetes>Módulo principal>Exportar

En Exportar ventana, seleccione Java>archivo JAR , como se muestra en la Figura 9, y haga clic en Siguiente.


Figura 9: Exportar>Java>Archivo JAR>Siguiente

En Especificación de archivo JAR , seleccione el recurso para exportar como MainModule , como se muestra en la Figura 10. Seleccione el destino de exportación como MainModulemodulesmainmodule.jar . Haga clic en Siguiente.


Figura 10: Especificación de archivo JAR

Seleccione las Opciones de empaquetado JAR predeterminadas. (consulte la Figura 11) y haga clic en Siguiente.


Figura 11: Selección de opciones de embalaje

A continuación, personalice la Especificación del manifiesto JAR , que incluye seleccionar la clase del punto de entrada de la aplicación. Haz clic en Examinar para la clase principal , como se muestra en la Figura 12.


Figura 12: Clase principal>Examinar

En Seleccionar clase principal , seleccione el MainModule clase en el main.module paquete, como se muestra en la Figura 13, y haga clic en Aceptar.


Figura 13: Selección de clase principal

Con la clase principal seleccionado, haga clic en Finalizar, como se muestra en la Figura 14.


Figura 14: Exportación JAR>Finalizar

El mainmodule.jar se exporta a MainModule/modules directorio, como se muestra en el Explorador de paquetes en la Figura 15.


Figura 15: JAR exportado mainmodule.jar

Exportación del proyecto Java de dependencia a un archivo JAR

En esta sección, exportaremos el proyecto de dependencia HelloJavaModule a un archivo JAR en el mismo directorio al que se exporta el JAR del módulo principal. Para exportar el HelloJavaModule proyecto a un archivo JAR, haga clic con el botón derecho en el proyecto en Package Explorer y seleccione Exportar (ver Figura 16).


Figura 16: Explorador de paquetes>HelloJavaModule>Exportar

En Exportar ventana, seleccione Java>archivo JAR , como se muestra en la Figura 17, y haga clic en Siguiente.


Figura 17: Exportar>Java>Archivo JAR>Siguiente

En Especificación de archivo JAR , seleccione el recurso para exportar como HelloJavaModule , como se muestra en la Figura 18. Seleccione el destino de exportación igual que para el JAR del módulo principal, que es MainModulemodules directorio. El nombre del archivo JAR debería ser diferente y es helloJavaModule.jar . Haga clic en Siguiente.


Figura 18: Especificación de archivo JAR para JAR de dependencia

Seleccione las Opciones de empaquetado de JAR predeterminadas, como se muestra en la Figura 19, y haga clic en Siguiente.


Figura 19: Selección de opciones de embalaje

A continuación, personalice la especificación de manifiesto JAR. Debido a que el proyecto de dependencia no incluye una clase para un punto de entrada de la aplicación, mantenga la clase principal campo como vacío, como se muestra en la Figura 20, y haga clic en Finalizar.


Figura 20: No hay clase principal para el proyecto de dependencia

El holaJavaModule.jar se exporta a MainModule/modules directorio, como se muestra en Package Explorer en la Figura 21.


Figura 21: JAR exportado helloJavaModule.jar

Agregar una configuración de ejecución

Para ejecutar la aplicación Java del módulo principal, necesitamos crear una configuración de ejecución para el MainModule proyecto. Haga clic derecho en MainModule en el Explorador de paquetes y seleccione Propiedades , como se muestra en la Figura 22.


Figura 22: Explorador de paquetes>Módulo principal>Propiedades

En la ventana Propiedades, seleccione Configuración de ejecución/depuración. y haga clic en Nuevo… para crear una nueva configuración de lanzamiento, como se muestra en la Figura 23.


Figura 23: Propiedades>Ejecutar configuración de depuración>Nuevo…

En Seleccionar tipo de configuración , seleccione Aplicación Java , como se muestra en la Figura 24.


Figura 24: Selección del tipo de configuración como aplicación Java

En el asistente de configuración, especifique un nombre (MainModuleConfig ) en el Nombre y con el Proyecto seleccionado como MainModule haga clic en Buscar… para la clase principal , como se muestra en la Figura 25.


Figura 25: Configuración de las propiedades de configuración de lanzamiento

En Seleccionar tipo principal , seleccione main.module.MainModule escriba (consulte la Figura 26) y haga clic en Aceptar.


Figura 26: Selección del tipo principal

Con la clase principal seleccionado, haga clic en Argumentos para seleccionar los siguientes argumentos de VM, como se muestra en la Figura 27.


Figura 27: Selección de la pestaña Argumentos

Agregue los siguientes argumentos de VM al campo de argumentos de VM, como se muestra en la Figura 28.

--module-path modules/helloJavaModule.jar;modules/mainmodule.jar
   -m mainModule/main.module.MainModule

La --ruta-módulo arg establece la ruta del módulo a los dos JAR para los dos módulos. El -m arg establece el módulo. Haz clic en Aplicar , como se muestra en la Figura 28.


Figura 28: Aplicación de los ajustes de configuración de ejecución

Haga clic en Aceptar, como se muestra en la Figura 29, para completar la configuración de ejecución.


Figura 29: Completando la configuración de ejecución

Una nueva configuración de ejecución, MainModuleConfig , se crea, como se muestra en la Figura 30. Haga clic en Aplicar y cerrar en la ventana Propiedades.


Figura 30: Aplicación de propiedades para el proyecto MainModule

Ejecución de la aplicación Java del módulo principal

A continuación, probaremos si el módulo principal invoca el módulo de dependencia ejecutando la aplicación del módulo principal. Haga clic derecho en MainModule.java en Package Explorer y seleccione Ejecutar como>Aplicación Java (ver Figura 31).


Figura 31: Explorador de paquetes>Módulo principal>Ejecutar como>Aplicación Java

El resultado de la aplicación Java se muestra en la Consola , como se muestra en la Figura 32. El mensaje “Hola desde” del módulo principal se combina con el mensaje “¡Módulo Java exportado!” desde el módulo de dependencia para generar el mensaje "¡Hola, desde el módulo Java exportado!".


Figura 32: Salida de consola

Conclusión

En dos artículos, discutimos el uso de dependencias de módulos en Java 9.