Mam aplikację konsoli Java, która jest gotowa do wdrożenia na serwerze Unix. Piszę skrypt powłoki, aby uruchomić aplikację.Co to jest dobra struktura katalogów wdrażania dla aplikacji konsolowych java
Mam zamiar umieścić moje skrypty powłoki w jednym folderze, jar aplikacji i słoiki zależne (wiosna itp.) W innym folderze i plikach właściwości (te, które muszą być utrzymywane "na żywo") ponownie w oddzielnym folderze . Chciałbym wtedy, aby mój skrypt powłoki iterował przez pliki w folderach "jars" i "properties", dołączając je do ścieżki klasy, zanim w końcu wywołanie java ...
Czy jest to "dobra" struktura wdrażania? Czy istnieją jakieś wskazówki dotyczące rozmieszczania plików, aby zmaksymalizować łatwość konserwacji i stabilność? Czy istnieją oczywiste "złe" sposoby robienia tego, czego najlepiej unikać?
Powinienem dodać, że w przypadku poprzedniego projektu wszystkie skrypty powłoki (te, które uruchamiają procesy Java i te, które tego nie robią) umieszczam w folderze skryptów, mój jar aplikacji w folderze ze słojami biblioteki w bibliotece podfolder i zasoby zewnętrzne do podfolderu config. Następnie napisałem skrypt, który jawnie ładuje wszystkie pliki. Długo czekało na pisanie i musi być utrzymany za każdym razem, gdy aktualizuję słoik biblioteki. Tym razem chciałbym to zrobić lepiej. Ponadto nie ma potrzeby oddzielania pliku JAR aplikacji od bibliotek.
Użyj do tego Mavena. – djechlin
Maven może stworzyć plik manifestu dla twojego słoika z odniesieniami do twoich jarów biblioteki, wtedy java sama znajdzie te pliki. Również w zależności od tego, jak "wyglądasz" w plikach właściwości, możesz uzyskać jeden wpis dla ścieżki klas.Zadanie pisania skryptu powłoki byłoby wtedy znacznie zredukowane. – Konstantin
Dzięki. Zbadam, jak wykorzystuję plunowanie w maven-jar, aby ułatwić sobie pracę. Zapomniałem, że pliki manifestu mogą to zrobić. –