Freigeben über


Programmieren Sie mit den Java-Tools, die Sie kennen und lieben

Als Java-Entwickler lieben wir die von uns verwendeten Tools. Wir haben unsere eigene einzigartige Art, mit ihnen zu arbeiten, die uns hilft, uns zu konzentrieren und produktiv zu bleiben, genauso wie wir unsere Tastenkombinationen und Geheimnisse haben, um Dinge schneller und besser zu erledigen. Ganz gleich, ob wir IntelliJ, Eclipse oder VS Code zum Codieren oder JUnit zum Testen oder Maven oder Gradle für Abhängigkeitsverwaltung und Buildautomatisierung verwenden: Es gibt nichts, was uns dazu zwingen kann, unsere bevorzugten Tools aufzugeben und etwas Neues zu lernen. Deshalb unterstützt Azure Java-Entwickler dabei, ihre Anwendungen auf Ihren bevorzugten Tools und Frameworks und dem Betriebssystem Ihrer Wahl in die Cloud zu bringen. Sehen wir uns einige dieser Tools näher an.

IDEs – VS Code, IntelliJ, und Eclipse

Eine ideale IDE beinhaltet Tools zum Bearbeiten von Quellcode, zur Kompilierung, zur lokalen Buildautomatisierung, für Tests und Debugging sowie Steuerelemente und Überwachungstools für Back-End-Services für die Datenverwaltung, Zwischenspeicherung, Messaging und Ereigniserstellung. Ein integriertes Toolset, das alle diese Aufgaben unterstützt, macht Entwickler produktiver, so dass sie vermeiden können, Neues lernen und ständig zwischen eigenständigen Tools für jede Aufgabe wechseln zu müssen. IntelliJ, Eclipse und Visual Studio Code beliebte Java-IDEs.

Java auf Visual Studio Code

Visual Studio Code (VS Code) ist ein einfaches, agnostisches Betriebssystem, das unter Windows, macOS und Linux ausgeführt wird. Als leistungsstarke IDE bietet es ein umfassendes Toolset für die Java-Entwicklung. Es unterstützt jedes Java Development Kit (JDK), einschließlich des Microsoft Builds von OpenJDK, Amazon Corretto, Eclipse Adoptium und Oracle Java SE. VS Code ist auch gut in alle Java-Frameworks, Anwendungsserver und andere beliebte Tools integriert, darunter Tomcat, Spring Boot, JBoss EAP, WildFly, Quarkus, Open Liberty, Maven und Gradle. Dazu unterstützt es andere Programmiersprachen, die häufig von Java-Entwicklern verwendet werden – z. B. JavaScript und SQL.

Screenshot von Visual Studio Code mit einer Java-Datei und dem Ausgabefenster.

VS Code unterstützt und optimiert Java-Entwicklungsworkflows über eine breite Palette von Java-Erweiterungen für Visual Studio Code hinweg. Allein für Java gibt es mehrere hundert Erweiterungen, nach denen Sie innerhalb der IDE selbst suchen können. Wir haben wichtige Erweiterungen für die grundlegende Java-Entwicklung in das Extension Pack für Java gesetzt. Dieses Extension Pack enthält Erweiterungen für Projektmanagement, Maven-Integration, Codebearbeitung, Codevervollständigung, Codenavigation, Refactoring, Linting, Formatierung, Debugging, Ausführen und Debuggen von JUnit/TestNG-Testfällen und vieles mehr. Es gibt auch ein Spring Boot Extension Pack für die Entwicklung und Bereitstellung von Spring Boot-Anwendungen – einschließlich Spring Initializr-Unterstützung.

Das Azure Tools Extension Pack, das von Azure-Entwicklungsteams erstellt wurde, bietet eine Vielzahl von Erweiterungen zum Ermitteln und Interagieren mit allen Azure-Clouddiensten, die Ihre Java-Anwendungen unterstützen. Sie können alle Erweiterungen aus VS Code verwenden, während Sie Ihre Java-App schreiben, debuggen und testen. Wenn Sie bereit sind, Ihre App bereitzustellen, unterstützt das Azure Tools Extension Pack mit einem Klick die Bereitstellung für die verschiedenen Compute-Services, die Azure für die Ausführung von Java-Anwendungen bereitstellt.

Java in Visual Studio Code bietet eine gute Übersicht über die beliebtesten Visual Studio Code-Erweiterungen für die Java-Entwicklung. Dazu kommen Anleitungen für die ersten Schritte mit der Java-Entwicklung mithilfe von Visual Studio Code sowie die Erläuterung der vielen Möglichkeiten, mit denen Java-Entwickler produktiver arbeiten können.

Erste Schritte mit Java in VS Code bietet ein kurzes Lernprogramm zum Einrichten von VS Code für Java Development, einschließlich des Schreibens und Ausführens des „Hello World“-Programms. Dazu kommen kurze Lernprogramme, die zeigen, wie Sie eine Java-Anwendung mit Visual Studio Code erstellen und dann mit einem einzigen Klick für Services wie die folgenden bereitstellen:

Wenn Sie mit Java on VS Code noch nicht vertraut sind, probieren Sie den Befehl „„Java: Tipps für Anfänger“ in der Hauptbefehlspalette aus.

Screenshot von Visual Studio Code mit einem Java-Datei- und Randleistenbereich.

Azure-Toolkit für IntelliJ

Mit dem Azure Toolkit for IntelliJ können Java-Entwickler Azure-Anwendungen mithilfe der IntelliJ-IDE einfach erstellen, entwickeln, testen und bereitstellen. Entwickler können damit beispielsweise die folgenden Aufgaben ausführen:

All diese Beispiele verwenden Compute-Services für die Ausführung von Java in Azure, die wir später in dieser Dokumentation ausführlicher behandeln. Spring Cloud Azure-Integrationen werden über die Spring Initializr-Umgebungen in IntelliJ bereitgestellt. Fügen Sie einfach die entsprechenden Java-Bibliotheken und -Treiber (einschließlich Azure SDK für Java) als Abhängigkeiten in Ihrem Java-Projekt hinzu.

Microsoft investiert aktiv Zeit und Ressourcen, um mehr Funktionen für IntelliJ bereitzustellen, einschließlich neuer Umgebungen für die cloud-native Entwicklung und tiefere Integration in Azure-Services – darunter Integrationen mit Azure Kubernetes Service und Application Insights.

Screenshot von IntelliJ mit einer Java-Datei und dem Dialogfeld „In Azure bereitstellen“.

Azure-Toolkit für Eclipse

Mit dem Azure Toolkit für Eclipse können Java-Entwickler Azure-Anwendungen mithilfe der Eclipse-IDE einfach erstellen, entwickeln, testen und bereitstellen. Es enthält wichtige Java-Bibliotheken und -Treiber, einschließlich Azure SDK für Java. Entwickler können das Azure Toolkit für Eclipse verwenden, um die folgenden Aufgaben aus der Eclipse-IDE auszuführen:

  • Bereitstellen von Java-Web-Apps für Azure App Service und benutzerdefinierte Container in App Service.
  • Bereitstellen von Java- oder Spring-Anwendungen oder beliebiger containerisierter Anwendungen für Azure Container Apps.
  • Bereitstellen serverloser Anwendungen mithilfe von Maven- oder Gradle-Plug-Ins in Azure Functions.

Abhängigkeitsmanagement und Buildautomatisierung – Maven, Gradle und GitHub

Maven und Gradle sind zwei beliebte Projektmanagement-, Abhängigkeitsmanagement- und Buildautomatisierungstools für Java-Anwendungen. Diese Tools sind gut in beliebte Java-IDEs integriert, mit Bereitstellung mit einem Klick für Azure und Unterstützung durch eine Reihe von Plug-Ins für jedes Tool.

Maven-Plugins für Azure Services

Maven-Plug-Ins für Azure-Services ermöglichen Ihnen, Ihre Maven-Entwicklungsworkflows auf Azure zu erweitern, Ihre Java-Anwendungen lokal zu testen und diese dann in einem einzigen Schritt für Azure-Services bereitzustellen – auf eine Weise, die mit Azure-Authentifizierungsverfahren und Azure Role-Based Access Control integriert ist. Mit dem Maven-Plug-In für Azure App Service können Sie Maven Java-Webanwendungsprojekte für Azure App Service und benutzerdefinierte Container in App Service bereitstellen. Mit dem Maven-Plug-In für Azure Functions können Sie Maven serverlose Java-Anwendungsprojekte in Azure Functions bereitstellen.

Diagramm mit einem Laptopbildschirm mit dem Text „mvn azure-webapp:deploy“ und der Überschrift „Bereitstellen von Java Web App und Abhängigkeiten in einem Schritt“.

Gradle-Plug-ins für Azure Services

Gradle-Plug-ins für Azure-Services ähneln denen für Maven. Sie ermöglichen Ihnen, Ihre Java-Anwendungen in einem einzigen Schritt für Azure-Services bereitzustellen – auf eine Weise, die in Azure-Authentifizierungsmethoden und Azure Role-Based Access Control integriert ist. Mit dem Gradle-Plug-in für Azure App Service können Sie Gradle Java-Webanwendungsprojekte für Azure App Service und benutzerdefinierte Container in App Service bereitstellen, und mit dem Gradle-Plug-in für Azure Functions können Sie Gradle serverlose Java-Anwendungsprojekte in Azure Functions bereitstellen.

Diagramm mit einem Laptopbildschirm mit dem Text „gradle azureWebAppDeploy“ und der Überschrift „Bereitstellen von Java Web App in einem Schritt“.

GitHub

GitHub ist ein beliebtes Repository für Java-Anwendungen, das eine DevOps-Umgebung für mehr als 3,5 Millionen Java-Anwendungen bereitstellt. Mithilfe von GitHub Actions für Java können Sie Aufgaben wie die folgenden ausführen:

  • Herunterladen und Einrichten einer angeforderten Java-Version.
  • Extrahieren und Zwischenspeichern einer benutzerdefinierten Version von Java aus einer lokalen Datei.
  • Konfigurieren von Runners für die Veröffentlichung mit Maven, Gradle oder einem privaten GPG-Schlüssel.
  • Registrieren von Problem Matchers für die Fehlerausgabe.
  • Zwischenspeichern von Maven oder Gradle verwalteter Abhängigkeiten.

GitHub Actions macht es einfach, Ihre Java-Softwareworkflows mit CI/CD auf Weltniveau zu automatisieren. Sie können Ihren Code direkt über GitHub erstellen, testen und für Azure bereitstellen. Führen Sie Code Reviews, Branchverwaltung und Selektierungsaufgaben nach Ihren Wünschen aus. Sie können Bereitstellungen für alle Azure-Dienste durchführen, um Ihre Java-Anwendungen auszuführen.

GitHub unterstützt auch Entwicklungscontainer für Java, auf die Sie über GitHub Codespaces oder VS Code Remote -Container zugreifen können.

Jenkins-Pipelines

Viele Microsoft-Kunden, die Java auf Azure ausführen, verwenden Jenkins – einen Open-Source-Automatisierungsserver – zum Erstellen, Testen und Bereitstellen ihrer Anwendungen. Wenn Sie Jenkins verwenden, können Sie Ihren Quellcode in Azure DevOps, GitHub oder einem beliebigen anderen Quellcodemanagementsystem verwalten, während Sie weiterhin Jenkins für Ihre CI/CD-Builds verwenden , z. B. einen Jenkins-Build auslösen, wenn Sie Ihren Code an das Git-Repository Ihres Projekts übertragen.

Azure Pipelines

Mit Azure Pipelines, einem Teil des Azure DevOps-Services, können Sie Ihre Java-Anwendungen kontinuierlich für jede Plattform und Cloud erstellen, testen und bereitstellen. Dies funktioniert mit GitHub (oder Azure Repos) für die Quellcodeverwaltung, so dass Sie mit Maven oder Gradle erstellen und dann für die Ausführung Ihrer Java-Anwendungen auf einem der Azure-Services bereitstellen können.

Azure Command Line Interface

Die Azure-Befehlszeilenschnittstelle (CLI) ist ein plattformübergreifendes Befehlszeilentool zum Erstellen, Herstellen einer Verbindung und zur Verwaltung von Azure-Ressourcen, darunter zur Ausführung von Terminalbefehlen über Befehlszeileneingabeaufforderungen oder Skripts. Sie können die Azure CLI lokal auf Linux-, macOS- oder Windows-basierten Computern installieren, sie in einem Container ausführen oder über Azure Cloud Shell über einen Browser auf die Azure CLI zugreifen.

Das folgende Beispiel zeigt, wie Sie Azure CLI verwenden, um eine JAR- oder WAR-Datei in Azure Container Apps bereitzustellen:

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

Zusammenfassung

Wenn Sie Java mit Azure verwenden, können Sie Ihre eigenen Tools auswählen. Sie können Tests, Debugging und Problembehandlung für jede Java-Anwendung (einschließlich Polyglot-Anwendungen) mithilfe des Computers Ihrer Wahl erstellen, ob unter Windows, macOS, Linux oder auf cloudbasierten Computern. Sie können Ihre Anwendung auch auf einem beliebigen Anwendungsserver oder mit jedem eingebetteten Anwendungsserver auf Azure bereitstellen.

Diagramm mit dem Text „Codieren mit den Java-Tools, die Sie kennen und lieben“ und Logos für die in diesem Artikel beschriebenen Tools.

Nächster Schritt

Problemlose und sichere Bereitstellung von Java-Anwendungen