sql >> Database teknologi >  >> RDS >> Database

Brug af modulafhængigheder, del 2

Modulafhængighed henviser til, at et modul er afhængigt af eller kræver et andet modul. Modulafhængigheder blev introduceret i Erklærer afhængighed af andre moduler afsnittet i artiklen "Udvikling af et modul med Java 9 i Eclipse IDE, del 1." I den første af to artikler, "Using Module Dependencies, Part 1," lavede vi to Java-projekter til to moduler, et hovedmodul og et afhængighedsmodul. Vi kunne ikke have oprettet begge moduler i et Java-projekt, fordi Eclipse IDE ikke understøtter flere moduler i et enkelt projekt. Efter at have oprettet to projekter, eksporterer vi i denne fortsættelsesartikel hvert projekt til en separat JAR-fil. Eksport og brug af et modul som en JAR-fil er diskuteret i et tidligere selvstudie, "Brug af et Java 9-modul som en JAR-fil." Tilføjelse af flere moduler i en enkelt JAR understøttes ikke i øjeblikket, men er planlagt til en fremtidig Java-version. I denne artikel skal vi diskutere konfiguration af de to Java-projekter og kørsel af hovedmodulapplikationen for at demonstrere modulafhængighed. Denne artikel har følgende sektioner:

  • Indstilling af byggestien for Java-hovedprojektet
  • Eksport af Java-hovedprojektet til en JAR-fil
  • Eksport af Dependency Java-projektet til en JAR-fil
  • Tilføjelse af en kørselskonfiguration
  • Kørsel af hovedmodulets Java-applikation
  • Konklusion

Indstilling af byggestien for Java-hovedprojektet

De to tidligere udviklede Java-projekter har fejl, som angivet med de røde markører i figur 1. Fejlene er angivet, fordi de to moduler er defineret i separate projekter, og afhængighedsprojektet ikke er i hovedprojektets build-sti.


Figur 1: Java-projekter med fejl

I dette afsnit skal vi konfigurere byggestien for Hovedmodulet projekt for at tilføje HelloJavaModule projekt til byggestien. Højreklik på MainModule i Pakkestifinder, og vælg Build Path>Configure Build Path , som vist i figur 2.


Figur 2: Package Explorer>Byg sti>Konfigurer bygningssti

I Egenskaber vinduet, Java Build-stien standardindstillingerne vises, som vist i figur 3.


Figur 3: Java Build Path

Vælg Projekter fanen og vælg Modulesti , som vist i figur 4. Klik på Tilføj...


Figur 4: Java Build Path>Projekter>Modulepath>Tilføj...

Det påkrævede projektvalg vinduet viser afhængighedsprojektet HelloJavaModule , som vist i figur 5. Vælg HelloJavaModule projekt og klik på OK.


Figur 5: Valg af et projekt, der skal tilføjes

HelloJavaModule projektet føjes til modulstien (se figur 6). Klik på Anvend og luk .


Figur 6: Java-projekt HelloJavaModule tilføjet til Modulepath

Fejlene og røde markeringer fjernes fra Hovedmodulet projekt, som vist i figur 7.


Figur 7: Fejl fjernet fra MainModule

Eksport af Java-hovedprojektet til en JAR-fil

Tilføjelse af HelloJavaModule projekt til byggestien for MainModule projekt fjerner kun opbygnings-/kompileringstidsfejlene. For runtime skal vi eksportere hvert af modulerne til en JAR-fil og tilføje JAR-filerne til runtime-modulstien for, hvornår projektet køres. JAR-filerne skal eksporteres til den samme mappe, så vi er i stand til at konfigurere modulstien uden at referere til moduler på tværs af projekter. Som nævnt før er en multi-modul JAR endnu ikke understøttet, men er planlagt til at blive understøttet i en senere version af Java.

For at eksportere MainModule projekt til en JAR-fil, højreklik på MainModule i Package Explorer og vælg Eksporter , som vist i figur 8.


Figur 8: Package Explorer>MainModule>Eksporter

I Eksporter vindue, skal du vælge Java>JAR-fil , som vist i figur 9, og klik på Næste.


Figur 9: Eksporter>Java>JAR-fil>Næste

I JAR-filspecifikation , vælg den ressource, der skal eksporteres som MainModule , som vist i figur 10. Vælg eksportdestinationen som MainModulemodulesmainmodule.jar . Klik på Næste.


Figur 10: JAR-filspecifikation

Vælg standard JAR-pakkeindstillinger (se figur 11), og klik på Næste.


Figur 11: Valg af pakkemuligheder

Tilpas derefter JAR Manifest-specifikationen , som omfatter valg af klassen for applikationsindgangspunktet. Klik på Gennemse for Hovedklassen , som vist i figur 12.


Figur 12: Hovedklasse>Gennemse

I Vælg Hovedklasse , vælg Hovedmodulet klasse i hovedmodulet pakke, som vist i figur 13, og klik på OK.


Figur 13: Vælger hovedklasse

Med Hovedklassen valgt, skal du klikke på Udfør, som vist i figur 14.


Figur 14: JAR Export>Afslut

mainmodule.jar bliver eksporteret til Hovedmodulet/modulerne bibliotek, som vist i Pakke Explorer i figur 15.


Figur 15: Eksporteret JAR mainmodule.jar

Eksport af Dependency Java-projektet til en JAR-fil

I dette afsnit skal vi eksportere afhængighedsprojektet HelloJavaModule til en JAR-fil i samme mappe som hovedmodulet JAR eksporteres til. For at eksportere HelloJavaModule projekt til en JAR-fil, højreklik på projektet i Package Explorer og vælg Eksporter (se figur 16).


Figur 16: Pakkeudforsker>HelloJavaModule>Eksporter

I Eksporter vindue, skal du vælge Java>JAR-fil , som vist i figur 17, og klik på Næste.


Figur 17: Eksporter>Java>JAR-fil>Næste

I JAR-filspecifikation , vælg den ressource, der skal eksporteres som HelloJavaModule , som vist i figur 18. Vælg eksportdestinationen på samme måde som for hovedmodulet JAR, som er MainModulemodules vejviser. JAR-filnavnet skal være anderledes og er helloJavaModule.jar . Klik på Næste.


Figur 18: JAR-filspecifikation for afhængighed JAR

Vælg standard JAR-pakkeindstillinger, som vist i figur 19, og klik på Næste.


Figur 19: Valg af pakkemuligheder

Tilpas derefter JAR Manifest-specifikationen. Fordi afhængighedsprojektet ikke inkluderer en klasse for et applikationsindgangspunkt, skal du beholde Hovedklassen felt som tomt, som vist i figur 20, og klik på Udfør.


Figur 20: Ingen hovedklasse for afhængighedsprojekt

helloJavaModule.jar bliver eksporteret til Hovedmodulet/modulerne mappe, som vist i Pakke Explorer i figur 21.


Figur 21: Eksporteret JAR helloJavaModule.jar

Tilføjelse af en kørselskonfiguration

For at køre hovedmodulets Java-applikation skal vi oprette en kørselskonfiguration for MainModule projekt. Højreklik på MainModule i Pakkestifinder, og vælg Egenskaber , som vist i figur 22.


Figur 22: Package Explorer>MainModule>Egenskaber

I vinduet Egenskaber skal du vælge Kør/fejlfindingsindstillinger og klik på Ny... for at oprette en ny startkonfiguration, som vist i figur 23.


Figur 23: Egenskaber>Kør fejlfindingsindstillinger>Ny...

I Vælg konfigurationstype , vælg Java-applikation , som vist i figur 24.


Figur 24: Valg af konfigurationstype som Java-applikation

I konfigurationsguiden skal du angive et navn (MainModuleConfig ) i Navn felt og med projektet valgt som MainModule klik på Søg... for Hovedklassen , som vist i figur 25.


Figur 25: Indstilling af Launch Configuration Properties

I Vælg hovedtype , vælg main.module.MainModule type (se figur 26), og klik på OK.


Figur 26: Valg af hovedtype

Med Hovedklassen valgt, skal du klikke på Argumenter fanen for at vælge VM-argumenterne næste, som vist i figur 27.


Figur 27: Vælger fanen Argumenter

Tilføj følgende VM-argumenter til VM-argumentfeltet, som vist i figur 28.

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

--modulstien arg indstiller modulstien til de to JAR'er for de to moduler. -m arg indstiller modulet. Klik på Anvend , som vist i figur 28.


Figur 28: Anvendelse af kørselskonfigurationsindstillinger

Klik på OK, som vist i figur 29, for at fuldføre kørselskonfigurationen.


Figur 29: Fuldfører kørselskonfiguration

En ny kørselskonfiguration, MainModuleConfig , bliver oprettet, som vist i figur 30. Klik på Anvend og luk i vinduet Egenskaber.


Figur 30: Anvendelse af egenskaber til MainModule Project

Kørsel af hovedmodulets Java-applikation

Dernæst skal vi teste, om hovedmodulet påkalder afhængighedsmodulet ved at køre hovedmodulapplikationen. Højreklik på MainModule.java i Pakkestifinder, og vælg Kør som>Java-applikation (se figur 31).


Figur 31: Package Explorer>MainModule>Kør som>Java-applikation

Outputtet fra Java-applikationen vises i konsollen , som vist i figur 32. Beskeden "Hej fra" fra hovedmodulet kombineres med meddelelsen "Eksporteret Java-modul!" fra afhængighedsmodulet for at udsende meddelelsen "Hej fra eksporteret Java-modul!".


Figur 32: Konsoloutput

Konklusion

I to artikler diskuterede vi brugen af ​​modulafhængigheder i Java 9.


  1. Retter ORA-65096-fejl ved oprettelse af automatiserede test i Django ved hjælp af Oracle

  2. Hvordan gemmer man arrays i MySQL?

  3. tilpasse pager i psql

  4. Beregn Max of Sum af et kommenteret felt over en grupperet efter forespørgsel i Django ORM?