Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo mostra como usar o Apache Maven para criar aplicativos com o SDK do Azure para Java. Neste artigo, você configura um novo projeto com o Maven, cria projetos com o Maven e usa as ferramentas de imagem nativas do GraalVM para criar binários nativos específicos da plataforma.
O projeto SDK do Azure para Java inclui um arquétipo Maven que pode acelerar a inicialização de um novo projeto. O arquétipo do SDK do Azure para Java Maven cria um novo aplicativo, com arquivos e uma estrutura de diretórios que segue as práticas recomendadas. Em particular, o arquétipo do SDK do Azure para Java Maven cria um novo projeto Maven com os seguintes recursos:
- Uma dependência da versão mais recente da
azure-sdk-bomBOM, que garante que todas as dependências do SDK do Azure para Java estejam alinhadas e oferece a melhor experiência de desenvolvedor possível. - Suporte integrado para a compilação de imagem nativa do GraalVM.
- Suporte para gerar um novo projeto com um conjunto especificado de bibliotecas de cliente do SDK do Azure para Java.
- Integração com as ferramentas de compilação do SDK do Azure para Java, que fornecem análise em tempo de compilação do seu projeto para garantir que muitas práticas recomendadas sejam seguidas.
Pré-requisitos
- Java Developer Kit, versão 8 ou posterior. Para a melhor experiência, use a versão 17.
- Apache Maven
Criar um novo projeto Maven
O SDK do Azure para o arquétipo Java Maven está disponível no Maven Central. Pode usar o arquétipo diretamente para arrancar uma nova aplicação executando o seguinte comando:
mvn archetype:generate \
-DarchetypeGroupId=com.azure.tools \
-DarchetypeArtifactId=azure-sdk-archetype
Depois de inserir esse comando, uma série de prompts solicita detalhes sobre seu projeto para que o arquétipo possa gerar a saída certa para você. A tabela a seguir descreve as propriedades para as quais você precisa fornecer valores:
| Nome | Descrição |
|---|---|
groupId |
(Obrigatório) O Maven groupId a usar no ficheiro POM criado para o projeto gerado. |
artifactId |
(Obrigatório) O Maven artifactId a usar no ficheiro POM criado para o projeto gerado. |
package |
(Opcional) O nome do pacote no qual colocar o código gerado. Inferido do groupId se não for especificado. |
azureLibraries |
(Opcional) Uma lista separada por vírgulas de bibliotecas do SDK do Azure para Java, usando os seus IDs de artefato Maven. Para obter uma lista de tais IDs de artefatos, consulte Versões do SDK do Azure. |
enableGraalVM |
(Opcional) false indicar que o arquivo Maven POM gerado não deve incluir suporte para compilar seu aplicativo em uma imagem nativa usando GraalVM; caso contrário, true. O valor padrão é true. |
javaVersion |
(Opcional) A versão mínima do JDK a ser direcionada ao criar o projeto gerado, como 8, 11ou 17. O valor padrão é a versão LTS mais recente (atualmente 17). O valor mínimo é 8. |
junitVersion |
(Opcional) A versão do JUnit a incluir como dependência. O valor padrão é 5. Os valores válidos são 4 e 5. |
Alternativamente, pode fornecer estes valores ao chamar o comando do arquétipo mostrado anteriormente. Esta abordagem é útil, por exemplo, para fins de automação. Pode especificar os valores como parâmetros usando a sintaxe padrão do Maven, que acrescenta -D ao nome do parâmetro, por exemplo:
-DjavaVersion=17
Suporte à versão Java
Como boa prática, use uma versão Java LTS ao implementar para produção. Por padrão, o arquétipo Maven do SDK do Azure seleciona a versão LTS mais recente, que atualmente define uma linha de base Java 17. No entanto, você pode substituir o comportamento padrão definindo o parâmetro javaVersion.
Usar a ferramenta de compilação do SDK do Azure para Java
O projeto SDK do Azure para Java inclui uma ferramenta de build Maven que podes adicionar aos teus projetos. Esta ferramenta corre localmente e não envia dados para a Microsoft. Podes configurar a ferramenta para gerar um relatório ou falhar a compilação quando certas condições forem cumpridas. Esta funcionalidade ajuda a garantir o cumprimento das melhores práticas, tais como as seguintes práticas:
- Validação do uso correto do BOM
azure-sdk-for-java, incluindo o uso da versão mais recente e confiando nela para definir versões de dependência nas bibliotecas cliente do SDK do Azure para Java. Para obter mais informações, consulte a seção Adicionar SDK do Azure para Java a um projeto existente. - Validação de que as bibliotecas clientes históricas do Azure não são usadas quando existem versões mais recentes e melhoradas.
O relatório também fornece informações sobre o uso de APIs beta.
Você pode configurar a ferramenta de compilação em um arquivo de projeto Maven POM, conforme mostrado no exemplo a seguir. Certifique-se de substituir o marcador de posição {latest_version} pela versão mais recente listada online.
<build>
<plugins>
<plugin>
<groupId>com.azure.tools</groupId>
<artifactId>azure-sdk-build-tool</artifactId>
<version>{latest_version}</version>
</plugin>
</plugins>
</build>
Depois de adicionar a ferramenta de construção a um projeto Maven, execute a ferramenta chamando mvn compile azure:run. Dependendo da configuração que fornecer, pode esperar ver falhas de construção ou ficheiros de relatório gerados que o informam sobre potenciais problemas antes que se tornem mais graves. Execute esta ferramenta como parte do seu pipeline CI/CD. À medida que a ferramenta de compilação evolui, a equipa de desenvolvimento publica novos lançamentos.
Verifica frequentemente os novos lançamentos e atualiza conforme apropriado.
Podes configurar a ferramenta de compilação para ativar ou desativar funcionalidades específicas. Para essa configuração, adicione uma seção configuration no XML mostrado anteriormente. Dentro dessa seção, defina as configurações mostradas na tabela a seguir. Qualquer configuração que não seja explicitamente mencionada usa o valor padrão especificado na tabela.
| Nome da propriedade | Valor padrão | Descrição |
|---|---|---|
validateAzureSdkBomUsed |
verdadeiro | Assegura que o projeto faz referência corretamente à BOM azure-sdk-for-java, para que as dependências da biblioteca de cliente do SDK do Azure para Java obtenham as respetivas versões a partir da BOM. |
validateLatestBomVersionUsed |
verdadeiro | Garante que as dependências se mantêm atualizadas, assinalando (ou fazendo falhar a compilação) se existir um azure-sdk-for-java BOM mais recente. Você sempre pode encontrar a versão mais recente on-line. |
validateBomVersionsAreUsed |
verdadeiro | Garante que, sempre que uma dependência estiver disponível no azure-sdk-for-java BOM, a versão não é substituída manualmente. |
validateNoDeprecatedMicrosoftLibraryUsed |
verdadeiro | Garante que o projeto não utiliza bibliotecas Azure de gerações anteriores. Usar as bibliotecas da nova geração e da geração anterior num único projeto dificilmente causará problemas, mas resulta numa experiência de programador subótima. |
validateNoBetaLibraryUsed |
falso | Algumas bibliotecas de cliente do SDK do Azure para Java têm versões beta, com cadeias de caracteres de versão no formato x.y.z-beta.n. Ativar esta funcionalidade garante que não sejam utilizadas bibliotecas beta. |
validateNoBetaApiUsed |
verdadeiro | Às vezes, as bibliotecas de cliente do SDK do Azure para Java têm versões GA com métodos anotados com @Beta. Esta verificação visa ver se algum método deste tipo é utilizado. |
sendToMicrosoft |
verdadeiro | Especifica se o relatório de compilação deve ser enviado à Microsoft para fins de telemetria. Este relatório ajuda a orientar a equipa de desenvolvimento sobre onde priorizar a documentação, os exemplos e APIs de conveniência melhoradas. Nenhum conteúdo identificável pelo usuário é enviado. |
reportFile |
- | (Opcional) Especifica o local para gravar o relatório de compilação, no formato JSON. Se não for especificado, nenhum relatório será escrito e um resumo da compilação, ou as falhas de compilação apropriadas, será mostrado no terminal. |
Adicionar o SDK do Azure para Java a um projeto existente
Para simplificar a gestão de versões de dependências, a equipa do SDK do Azure para Java publica mensalmente o SDK do Azure for Java client BOM. Este ficheiro BOM inclui todos os pacotes de clientes SDK do Azure Generally Available (GA) para Java com as suas versões de dependência compatíveis.
Para utilizar versões de dependências para uma biblioteca cliente do SDK do Azure para Java listada na BOM, adicione o seguinte fragmento ao ficheiro pom.xml do projeto. Substitua o marcador {bom_version_to_target} pela versão mais recente do SDK do Azure BOM para Java. Substitua o espaço reservado {artifactId} pelo nome do pacote do SDK do serviço Azure.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>{artifactId}</artifactId>
</dependency>
</dependencies>
Você pode encontrar todas as versões do BOM do cliente do SDK do Azure para Java em azure-sdk-bom. Use a versão mais recente para tirar partido das funcionalidades mais recentes das bibliotecas cliente do SDK do Azure para Java.
Usar o Maven para definir dependências de projeto pode tornar o gerenciamento de seus projetos mais simples. Ao usar o SDK do Azure BOM e o arquétipo do SDK do Azure Maven, pode acelerar o desenvolvimento do seu projeto, com maior confiança no controlo das versões das dependências a longo prazo. Utilize o BOM para manter as dependências alinhadas e atualizadas.
Para além de adicionar o SDK do Azure BOM, inclui também a ferramenta de compilação SDK do Azure para Java. Esta ferramenta ajuda a diagnosticar muitos problemas frequentemente encontrados na construção de aplicações, conforme descrito anteriormente neste artigo.
Incluir um pacote que não está na lista técnica
O SDK do Azure for Java client BOM inclui apenas bibliotecas geralmente disponíveis (GA). Se quiseres usar um pacote que ainda esteja em beta ou uma versão de biblioteca diferente da incluída no BOM, especifica a versão da dependência Maven juntamente com groupId e artifactId na secção de dependências. Você pode optar por ter dependências que usam versões de BOM e dependências com versões substituídas no mesmo arquivo POM de projeto, conforme mostrado no exemplo a seguir:
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-eventhubs</artifactId> <!-- Use the dependency version that is in the BOM -->
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.4.0</version> <!-- Override the Service Bus dependency version specified in the BOM -->
</dependency>
</dependencies>
Se você usar essa abordagem e especificar versões diretamente em seu projeto, poderá obter conflitos de versão de dependência. Estes conflitos surgem porque diferentes pacotes podem depender de diferentes versões de dependências comuns, e estas versões podem não ser compatíveis entre si. Quando ocorrem conflitos, você pode experimentar um comportamento indesejável em tempo de compilação ou tempo de execução. Use as versões incluídas no BOM do SDK do Azure, a menos que tal seja necessário. Para obter mais informações sobre como lidar com dependências ao usar o SDK do Azure para Java, consulte Solucionar conflitos de versão de dependência.
Crie uma imagem nativa com GraalVM
Você pode usar GraalVM para criar uma imagem nativa de um aplicativo Java. GraalVM compila o código Java antecipadamente em código de máquina nativo, o que pode gerar ganhos drásticos de desempenho em determinadas situações. O SDK do Azure para Java fornece os metadados necessários em cada uma de suas bibliotecas de cliente para dar suporte à compilação de imagens nativas GraalVM.
Para começar, instala o GraalVM e prepara o teu sistema de desenvolvimento para compilar imagens nativas. O processo de instalação do GraalVM é simples, e a documentação do GraalVM fornece instruções passo a passo para instalar o GraalVM e usar o GraalVM para instalarde imagem nativa. Siga a secção pré-requisitos cuidadosamente para instalar compiladores nativos necessários para o seu sistema operativo.
O arquétipo Maven do SDK Azure para Java pode configurar a sua compilação para dar suporte à compilação de imagens nativas do GraalVM, mas também pode adicionar essa configuração a uma compilação Maven existente. Você pode encontrar instruções para Maven no site GraalVM.
Em seguida, você está pronto para executar uma compilação de imagem nativa. Você pode usar as ferramentas padrão do Maven para usar a imagem nativa do GraalVM. Para o Maven, use o seguinte comando:
mvn clean package -Pnative
Depois de executar esse comando, o GraalVM gera um executável nativo para a plataforma em que está sendo executado. O executável aparece no diretório Maven /target do seu projeto. Agora você pode executar seu aplicativo com esse arquivo executável, e ele deve funcionar de forma semelhante a um aplicativo Java padrão.