Czym jest "module-info.java"?

0

Witam!
W Eclipse IDE przy tworzeniu nowego projektu Java, jest komunikat z zapytaniem, czy utworzyć plik "module-info.java": screenshot-20210505130928.png
Co to za plik? Zawiera jakieś informacje? Kiedy się go stosuje?

3

Nie rób tego. Używaj mavena albo gradle bo to de facto standard. One mają swoją własną strukturę i odpowiednie pliki konfiguracyjne (pom.xml albo build.gradle). Odradzam też eclipse...

0

Czyli Eclipse tworzy taki odpowiednik pliku pom.xml w Maven?

Odradzam też eclipse...

Dobra to jednak przesiadam się na NetBeans 😊
Dziękuję za odpowiedź!

2

Jeżeli używasz Javy 9+ to możesz skorzystać z nowego systemu modułów który ma zastąpić OSGi. module-info to cześć tego systemu, tego pliku używasz do deklaracji bieżącego moduło, jego zależność oraz tego co on eksportuje.

Po co to? W praktyce po to żeby móc jlink'iem i potem jpackage'em wygenerować sobie obraz aplikacji wraz z wbudowanym JRE i instalatorami (MSI, DEB, DMG). Czytaj bardzo przydatne jak piszesz w JavaFX.
Po co to? W dużych projektach żeby mieć większą kontrolę na architekturą i zależnościami poszczególnych modułów.

W tej chwili klepę małą apkę w JavaFX i tam używam modułów, możesz podjerzeć: https://github.com/marcin-chwedczuk/javafx-validation-demo.

Czy to potrzebne zwykłemu programiście? NIE. W tej chwili użycie modułów sprawia dużo problemów np. z unit testami. Jest to też ortogonalna struktura do Maven'a/Gradle'a więc trzeba wiele rzeczy pisać po 2 razy np. dependency w maven'ie i jeszcze raz requires w module-info.

1 użytkowników online, w tym zalogowanych: 0, gości: 1