w , ,

FajneFajne Dobre!Dobre! SmuteczekSmuteczek

Jak uruchomić Spring w IntelliJ Community

cargo

IntelliJ Community nie dostarcza wsparcia dla aplikacji napisanych z wykorzystaniem Spring Framework. Z tego powodu często od swoich widzów i kursantów otrzymuje pytanie – czy można to obejść? Lub jak sobie z tym poradzić? Dlatego w tym artykule opiszę jak uruchomić Spring w IntelliJ Community lub innym dowolnym IDE z wykorzystaniem Cargo.

Rozwiązanie jest na tyle uniwersalne, że sprawdzi się w każdym środowisku programistycznym, ponieważ zależność tą konfigurujemy na poziomie Apache Maven.

Czym jest Cargo?

Cargo to lekki wrapper, który umożliwia uruchomienie aplikacji w ramach różnego rodzaju kontenerów:

– Geronimo
– Glassfish
– JBoss
– Jetty
– Jo!
– JRun
– JOnAS
– Payara
– Grion/OC4J
– Resin
– Tomcat
– TomEE
– WebLogic
– WebSphere
– WildFly

Jego użycie jest bardzo proste, a możliwości konfiguracyjne szerokie. Dlatego sprawdzi się w wielu IDE np. Visual Studio Code lub IntelliJ Community.

Integracja ze Spring Framework

Po pierwsze w pliku pom.xml w sekcji build należy zdefiniować nowy plugin, który będzie miał odwoływał się do następującego artefaktu:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.7.10</version>
            <configuration>
                <container>
                    <containerId>tomcat9x</containerId>
                    <type>embedded</type>
                </container>
            </configuration>
        </plugin>
    </plugins>
</build>

Jest to zależność do samego Cargo. W ramach niego dodajemy konfiguracje do konternera. Może być to dowolny konterner – w tym przypadku jest to standardowa aplikacja napisana w Spring, więc natulranym wyborem jest klasyczny Tomcat. Natomiast jeśli Twoja aplikacja ma określone wymagania np. wymaga serwera nieblokującego na potrzeby programowania reaktywnego to naturalnym wyborem będzie Jetty.

Dodatkowo w ramach kontenera zdefiniowany został typ embedded. Ponieważ wynika to ze specyfiki Tomcat 7+, która uniemożliwia na osadzenie kontenera webowego i aplikacji w ramach tej samej JVM.

Uruchomienie aplikacji

Aby uruchomić aplikacje wystarczy wykonać polecenie:

mvn org.codehaus.cargo:cargo-maven2-plugin:run 

Samą operację, można wykonać również dwuklikiem w ramach sekcji Plugins. Ponieważ jest to możliwe, dzięki dodaniu konfiguracji w pliku pom.xml.

Maven Cargo
Operacja wdrożenia i uruchomienia aplikacji w ramach wrappera Cargo.

Z pewnością widzimy logi, które pokazują, że Tomcat ma się dobrze:

INFO: Completed initialization in 1635 ms
[INFO] [beddedLocalContainer] Tomcat 9.x Embedded started on port [8080]
[INFO] Press Ctrl-C to stop the container...

Wideo prezentacja

Również godny uwagi w temacie jest materiał wideo w którym dokładnie prezentuje jak przejść przez wszystkie etapy z bardziej szczegółowym wyśnieniem:

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

umiejętności programistów

18 najbardziej pożądanych umiejętności programistycznych – raport

Raport JRebel dotyczący preferencji Java Developerów

JRebel zdradza preferencje technologiczne Java Developerów