Javowe moduły

AI
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:375
0

Korzystanie z package-scope zaczęło być dla mnie troszkę uciążliwe, ponieważ nie umiem utworzyć hierarchii pakietów, gdy potrzebowałbym żeby klasy w jednym pakiecie były widoczne w obrębie wszystkich subpakietów danego pakietu (czasami nawet wewnątrz subpakietów-subpakietów itd). Znalazłem, że od Javy 9, zostały wprowadzone moduły które mogłyby rozwiązać moje problemy -w założeniu, wszystkie klasy publiczne wewnątrz modułu i udostępniany tylko jeden pakiet z fasadą i np jakimiś interfejsami . Więc postanowiłem wygenerować module-info.java i decydować którym modułom udostępnię pakiety. Problem pojawił się taki, że po wygenerowaniu pliku z modułami kompilator zaczął się rzucać (i słusznie), że np Springframeworkowe klasy/pakiety są niewidoczne. Czy jest możliwe modułowanie tak, żeby tylko te moduły które ja stworzę będą wymagały "udostępniania", a pakiety takie jak org.springframework, czy org.mindrot.jbcrypt były całkowicie publiczne? W senie nie module-public tylko samo public.

S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
0

Nie jestem pewien czy dobrze zrozumiałem ale nie chodzi o to że musisz zaimportowac te modułu : requires org.springframework ?


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
AI
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 3 lata
  • Postów:375
0

Właśnie tak próbowałem, tylko dostaję błąd że org.springframework nie jest modułem i nie mogę go "użyć requires". Podobną sytuację mam z org.mindrot.
Edit: Przydałoby mi się to w tym, że wewnątrz całego modułu klasy bazodanowe (te których obiekty mam bezpośrednio persistowane w bazie danych) miałbym widoczne wewnątrz całego modułu. Nie musiałbym pakować wszystkiego do jednego pakietu, tylko mógłbym to jakoś popakować w pakiety. Zewnątrz modułu byłaby widoczna tylko klasę dto.

edytowany 1x, ostatnio: Aisekai

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.