Kod przy użyciu narzędzi Java, które znasz i kochasz
Jako deweloperzy języka Java kochamy używane narzędzia. Mamy swój unikalny sposób pracy z nimi, który pomaga nam skupić się i pozostać produktywnym, tak jak mamy nasze skróty i tajemnice, aby szybciej i lepiej robić rzeczy. Niezależnie od tego, czy używamy środowiska IntelliJ, Eclipse, czy VS Code do kodowania, czy JUnit do testowania, czy maven, czy Gradle na potrzeby zarządzania zależnościami i automatyzacji kompilacji, nie ma nic, co może nas zmusić do odsunięcia na bok naszych preferowanych narzędzi i nauczyć się czegoś nowego. Dlatego platforma Azure umożliwia deweloperom języka Java przenoszenie aplikacji do chmury przy użyciu ulubionych narzędzi i struktur oraz wybranego systemu operacyjnego. Przyjrzyjmy się bliżej niektórym z tych narzędzi.
Środowiska IDE — VS Code, IntelliJ i Eclipse
Idealne środowisko IDE obejmuje narzędzia do edytowania kodu źródłowego, kompilacji, lokalnej automatyzacji kompilacji, testowania i debugowania — wraz z kontrolkami i narzędziami do monitorowania usług zaplecza na potrzeby zarządzania danymi, buforowania, obsługi komunikatów i zdarzeń. Zintegrowany zestaw narzędzi obsługujący wszystkie te zadania sprawia, że deweloperzy są wydajniejsi, umożliwiając im unikanie konieczności uczenia się i ciągłego przełączania między autonomicznymi narzędziami dla każdego zadania. IntelliJ, Eclipse i Visual Studio Code to popularne środowiska IDE Języka Java.
Język Java w programie Visual Studio Code
Visual Studio Code (VS Code) to lekki, niezależny system operacyjny działający w systemach Windows, macOS i Linux. Zaawansowane środowisko IDE zapewnia kompleksowy zestaw narzędzi do programowania w języku Java. Obsługuje on dowolny zestaw Java Development Kit (JDK), w tym microsoft build of OpenJDK, Amazon Corretto, Eclipse Adoptium i Oracle Java SE. Program VS Code integruje się również ze wszystkimi platformami Java, serwerami aplikacji i innymi popularnymi narzędziami, takimi jak Tomcat, Spring Boot, JBoss EAP, WildFly, Quarkus, Open Liberty, Maven i Gradle. Obsługuje również inne języki programowania, które są często używane przez deweloperów języka Java — takich jak JavaScript i SQL.
Program VS Code obsługuje i usprawnia przepływy pracy programowania w języku Java dzięki szerokiej gamie rozszerzeń Języka Java dla programu Visual Studio Code. Istnieje kilkaset rozszerzeń dla języka Java, które można wyszukiwać z poziomu samego środowiska IDE. Spakowaliśmy rozszerzenia kluczy na potrzeby podstawowego programowania w języku Java w pakiecie Extension Pack dla języka Java. Ten pakiet rozszerzeń zawiera rozszerzenia do zarządzania projektami, integracji programu Maven, edytowania kodu, uzupełniania kodu, nawigacji kodu, refaktoryzacji, lintingu, formatowania, debugowania, uruchamiania i debugowania przypadków testowych JUnit/TestNG itd. Dostępny jest również pakiet rozszerzeń Spring Boot do tworzenia i wdrażania aplikacji Spring Boot , w tym obsługi rozwiązania Spring Initializr.
Pakiet rozszerzeń narzędzi platformy Azure, utworzony przez zespoły inżynieryjne platformy Azure, udostępnia bogaty zestaw rozszerzeń do odnajdywania i interakcji ze wszystkimi usługami w chmurze platformy Azure, które ułatwiają obsługę aplikacji Java. Wszystkie rozszerzenia można używać z poziomu programu VS Code podczas pisania, debugowania i testowania aplikacji Java. Gdy wszystko będzie gotowe do wdrożenia aplikacji, pakiet rozszerzeń narzędzi platformy Azure obsługuje wdrażanie jednym kliknięciem w różnych usługach obliczeniowych zapewnianych przez platformę Azure na potrzeby uruchamiania aplikacji Java.
Język Java w programie Visual Studio Code zawiera dobre omówienie najpopularniejszych rozszerzeń programu Visual Studio Code na potrzeby programowania w języku Java. Zawiera również instrukcje dotyczące rozpoczynania pracy z programowaniem w języku Java przy użyciu programu Visual Studio Code, a także wskazówki dotyczące wielu sposobów, które mogą pomóc deweloperom języka Java bardziej produktywnym.
Wprowadzenie do języka Java w programie VS Code zawiera krótki samouczek, który obejmuje konfigurowanie programu VS Code dla programowania w języku Java, w tym sposób pisania i uruchamiania programu Hello World. Podobnie istnieją krótkie samouczki pokazujące, jak utworzyć aplikację Java przy użyciu programu Visual Studio Code, a następnie wdrożyć ją jednym kliknięciem w usługach, takich jak następujące:
Jeśli dopiero zaczynasz korzystać z języka Java w programie VS Code, wypróbuj polecenie "Java: Tips for Beginners" (Java: porady dla początkujących) w głównej palecie poleceń.
Azure Toolkit for IntelliJ
Zestaw narzędzi Azure Toolkit for IntelliJ umożliwia deweloperom języka Java tworzenie, opracowywanie, testowanie i wdrażanie aplikacji Java na platformie Azure przy użyciu środowiska IDE IntelliJ. Na przykład deweloperzy mogą używać go do wykonywania następujących zadań:
- Wdróż aplikacje internetowe Java w usłudze aplikacja systemu Azure Service i kontenerach niestandardowych w usłudze aplikacja systemu Azure Service.
- Wdrażanie aplikacji Java lub Spring lub dowolnych konteneryzowanych aplikacji w usłudze Azure Container Apps.
- Wdrażanie aplikacji bezserwerowych w usłudze Azure Functions.
Wszystkie te przykłady używają usług obliczeniowych do uruchamiania języka Java na platformie Azure, które szczegółowo omówimy w dalszej części tej dokumentacji. Integracje platformy Azure z platformą Spring Cloud są udostępniane za pośrednictwem środowisk Spring Initializr w środowisku IntelliJ. Wystarczy dodać odpowiednie biblioteki i sterowniki Java (w tym zestaw Azure SDK dla języka Java) jako zależności w projekcie Java.
Firma Microsoft aktywnie inwestuje czas i zasoby w celu zapewnienia większej funkcjonalności środowiska IntelliJ, w tym nowych środowisk programowania natywnych dla chmury i głębszej integracji z usługami platformy Azure , w tym integracji z usługami Azure Kubernetes Service i Application Insights.
Azure Toolkit for Eclipse
Zestaw narzędzi Azure Toolkit for Eclipse umożliwia deweloperom języka Java tworzenie, opracowywanie, testowanie i wdrażanie aplikacji Java na platformie Azure przy użyciu środowiska ECLIPSE IDE. Zawiera ona kluczowe biblioteki i sterowniki Języka Java, w tym zestaw Azure SDK dla języka Java. Deweloperzy mogą używać zestawu narzędzi Azure Toolkit for Eclipse do wykonywania następujących zadań z poziomu środowiska ECLIPSE IDE:
- Wdrażanie usługi Java Web Apps w usłudze aplikacja systemu Azure Service i kontenerów niestandardowych w usłudze App Service.
- Wdrażanie aplikacji Java lub Spring lub dowolnych konteneryzowanych aplikacji w usłudze Azure Container Apps.
- Wdrażanie aplikacji bezserwerowych w usłudze Azure Functions przy użyciu wtyczek Maven lub Gradle.
Zarządzanie zależnościami i automatyzacja kompilacji — Maven, Gradle i GitHub
Narzędzia Maven i Gradle to dwa popularne narzędzia do zarządzania projektami, zarządzania zależnościami i automatyzacji kompilacji dla aplikacji Java. Te narzędzia są dobrze zintegrowane z popularnymi środowiskami IDE Języka Java, a wdrożenie jednym kliknięciem umożliwia pomoc techniczna platformy Azure za pomocą zestawu wtyczek dla każdego narzędzia.
Wtyczki Maven dla usług platformy Azure
Wtyczki Maven dla usług platformy Azure umożliwiają rozszerzanie przepływów pracy programowania maven na platformę Azure, testowanie aplikacji Java lokalnie, a następnie wdrażanie ich w usługach platformy Azure w jednym kroku — w sposób integrujący się z metodami uwierzytelniania platformy Azure i kontrolą dostępu opartą na rolach platformy Azure. Wtyczka Maven dla usługi aplikacja systemu Azure Service ułatwia wdrażanie projektów aplikacji internetowych Java Maven w usłudze aplikacja systemu Azure Service i kontenerów niestandardowych w usłudze App Service. Wtyczka Maven dla usługi Azure Functions ułatwia wdrażanie bezserwerowych projektów aplikacji Java maven w usłudze Azure Functions.
Wtyczki Gradle dla usług platformy Azure
Wtyczki narzędzia Gradle dla usług platformy Azure są podobne do wtyczek programu Maven. Umożliwiają one wdrażanie aplikacji Java w usługach platformy Azure w jednym kroku — w sposób integrujący się z metodami uwierzytelniania platformy Azure i kontrolą dostępu opartą na rolach platformy Azure. Wtyczka Gradle dla usługi aplikacja systemu Azure Service ułatwia wdrażanie projektów aplikacji internetowych java w języku Gradle w celu aplikacja systemu Azure Service i kontenerów niestandardowych w usłudze App Service, a wtyczka Gradle dla usługi Azure Functions ułatwia wdrażanie bezserwerowych projektów aplikacji Java w usłudze Azure Functions.
GitHub
GitHub to popularne repozytorium dla aplikacji Java, które udostępnia środowisko DevOps dla ponad 3,5 miliona aplikacji Java. Za pomocą funkcji GitHub Actions dla języka Java można wykonywać zadania podobne do następujących:
- Pobierz i skonfiguruj żądaną wersję języka Java.
- Wyodrębnianie i buforowanie niestandardowej wersji języka Java z pliku lokalnego.
- Skonfiguruj moduły uruchamiającego na potrzeby publikowania przy użyciu narzędzia Maven, narzędzia Gradle lub klucza prywatnego grupy zasad grupy.
- Rejestrowanie dopasowań problemów dla danych wyjściowych błędu.
- Zależności pamięci podręcznej zarządzane przez narzędzie Maven lub Gradle.
Funkcja GitHub Actions ułatwia automatyzowanie całego przepływu pracy oprogramowania Java przy użyciu światowej klasy ciągłej integracji/ciągłego wdrażania. Kod można kompilować, testować i wdrażać na platformie Azure bezpośrednio z usługi GitHub. Umożliwia przeglądy kodu, zarządzanie gałęziami i klasyfikowanie problemów w odpowiedni sposób. Możesz wdrożyć w dowolnej usłudze platformy Azure na potrzeby uruchamiania aplikacji Java.
Usługa GitHub obsługuje również kontenery programistyczne dla języka Java, do których można uzyskać dostęp za pośrednictwem usług GitHub Codespaces lub VS Code Remote — Containers.
Potoki serwera Jenkins
Wielu klientów firmy Microsoft, którzy uruchamiają język Java na platformie Azure, używają usługi Jenkins — serwera automatyzacji typu open source — do kompilowania, testowania i wdrażania aplikacji. Jeśli używasz narzędzia Jenkins, możesz zarządzać kodem źródłowym w usłudze Azure DevOps, GitHub lub innym systemie zarządzania kodem źródłowym, kontynuując używanie narzędzia Jenkins do kompilacji ciągłej integracji/ciągłego wdrażania — na przykład wyzwalanie kompilacji narzędzia Jenkins podczas wypychania kodu do repozytorium Git projektu.
Azure Pipelines
Usługa Azure Pipelines, część usługi Azure DevOps , umożliwia ciągłe tworzenie, testowanie i wdrażanie aplikacji Java na dowolnej platformie i w chmurze. Działa ona z usługą GitHub (lub azure Repos) na potrzeby kontroli źródła, umożliwiając tworzenie przy użyciu narzędzia Maven lub Gradle , a następnie wdrażanie w dowolnych usługach platformy Azure na potrzeby uruchamiania aplikacji Java.
Interfejs wiersza polecenia platformy Azure
Interfejs wiersza polecenia platformy Azure to międzyplatformowe narzędzie wiersza polecenia służące do tworzenia, nawiązywania połączenia z zasobami platformy Azure i zarządzania nimi , w tym wykonywania poleceń terminalu za pośrednictwem wierszy polecenia lub skryptów. Interfejs wiersza polecenia platformy Azure można zainstalować lokalnie na maszynach z systemem Linux, macOS lub Windows, uruchomić go z poziomu kontenera lub uzyskać dostęp do interfejsu wiersza polecenia platformy Azure z poziomu przeglądarki za pośrednictwem usługi Azure Cloud Shell.
W poniższym przykładzie pokazano, jak za pomocą interfejsu wiersza polecenia platformy Azure wdrożyć plik JAR lub WAR w usłudze Azure Container Apps:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID> \
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Podsumowanie
Gdy używasz języka Java z platformą Azure, możesz wybrać własne narzędzia. Możesz tworzyć test, debugować i rozwiązywać problemy z dowolną aplikacją Java (w tym aplikacjami wielolotowymi) przy użyciu wybranej maszyny, w tym maszyn z systemami Windows, macOS, Linux i chmurowymi. Aplikację można również wdrożyć na platformie Azure na dowolnym serwerze aplikacji lub z dowolnym osadzonym serwerem aplikacji.