Die module declaration definiert unter anderem die Abhängigkeiten eines Moduls. Wenn ich Maven als Build-Tool verwende, ist dies überflüssig, da die pom.xml
diese (und weitere) Informationen bereits enthält. Basierend darauf, konnte Maven nicht die module-info.java
für mich erzeugen?Can Maven erzeugt die Moduldeklaration
Antwort
Man könnte erwarten, dass die meisten Abhängigkeiten tatsächlich auch Module sind. Anforderungen können jedoch auch auf Module des JDK/JRE verweisen, die nicht in der pom.xml
spezifiziert sind. Wenn Sie also nur die Abhängigkeiten betrachten, könnten wahrscheinlich die meisten von ihnen in eine erforderliche Modulreferenz umgewandelt werden.
Aber ein Modul-Deskriptor enthält viel mehr Informationen, die alle auf Entscheidungen beruhen, die vom Entwickler getroffen werden müssen. Ich habe geschrieben an article darüber, die im Detail beschreibt, warum es nicht möglich ist, diese Datei vollständig zu generieren.
aber wahrscheinlich könnte es eine Art von Standard-oder Minimum-Modul-Deklaration generieren. Alle zusätzlichen Informationen (vom Entwickler getroffene Entscheidungen) können über den POM (Konfiguration in einem Plugin) bereitgestellt werden. Damit bleibt der Pom die einzige Konfigurationsdatei, die beibehalten wird ?! Es gibt auch Plugins, die bnd-Dateien, Manifest-Dateien oder web.xml-Dateien generieren, die Informationen enthalten, die mit dem Pom angegeben wurden. – dermoritz
In der Tat kann 'jdeps' (in' jdk-9/bin') einen initialen Deskriptor basierend auf dem kompilierten Code erzeugen. Aber es kann nicht Teil des Lebenszyklus werden, weil es von Hand angepasst werden muss. –
- 1. TypeScript globale Moduldeklaration
- 2. MAVEN Build erzeugt kein Glas
- 3. Prozess erzeugt durch exec-Maven-Plugin blockiert der Maven-Prozess
- 4. Maven Erzeugt bestimmte Childs von Parent
- 5. maven jacoco plugin erzeugt keinen Coverage-Bericht
- 6. Maven cxf-codegen-plugin erzeugt keine Quelle
- 7. Can Allure-Berichte können mit TestNG ohne Maven implementiert werden?
- 8. Can maven sign nicht nur produziert jar, sondern auch Abhängigkeiten
- 9. "Die Datei ist kein Modul" auf js Moduldeklaration
- 10. AngularJS: Datei Verkettung Umbrüche Moduldeklaration um
- 11. Erwartete eine Moduldeklaration, etwas anderes gefunden?
- 12. So importieren Sie in Typoskript ohne Moduldeklaration
- 13. Ambient Moduldeklaration kann nicht angeben, relativ Modulnamen
- 14. Can`t
- 15. tsc nicht findet lokale Moduldeklaration, aber WebStorm tut
- 16. Wie man maven-javadoc-plugin erzeugt mehrere Gläser?
- 17. Maven SCR-Plugin - OSGI-INF-Ordner wird nicht erzeugt
- 18. axistools-maven-plugin erzeugt keine Quelle von WSDL
- 19. Maven Archetyp j2ee-einfach erzeugt ein Versagen Projekt
- 20. JOOQ: Generiere Quellen mit Maven in Eclipse erzeugt keine Datei
- 21. Can Laravel Erzeugt ein Formular gemäß dem von Ihnen erstellten Datenbankmodell?
- 22. Vue 2: Can not Get Vergangenheit "Can not Property Lesen"
- 23. Can not setState Variable
- 24. CAN-Bus mit AT90can
- 25. Can not POST /index.php
- 26. Beautifulsoup Can not FindAll
- 27. Wie kann ich eine Liste von GAVs erhalten, die ein maven-Paketbefehl erzeugt?
- 28. Wie man Gläser ausschließt, die durch Maven War Plugin erzeugt werden?
- 29. Wie identifiziere ich die Quelle einer Paketversion im Manifest, das von maven-bundle-plugin erzeugt wurde?
- 30. Klassenfunktion, die eigene Objekte erzeugt
Ich glaube nicht, dass es aus einem einfachen Grund kann: innerhalb einer einzigen Abhängigkeit kann ich bereits mehrere Java-Module haben (die nicht selbst Abhängigkeiten sind), also wie hat Maven möglicherweise diese Informationen? – john16384
Die Moduldeklaration ist nicht redundant ... was entspricht "exports ..." in der Pom-Datei? Außerdem benötigt die 'java.sql' wie sollte Maven davon wissen? Was ist mit dem Modulnamen? Basierend auf was soll es erraten werden? ArtefaktId? Wird nicht funktionieren .... Ich empfehle die Maven DEV Liste über das Jigsaw Schlüsselwort zu lesen ... Abgesehen davon, was ist mit transitiven Abhängigkeiten? – khmarbaise