Java

Repositórios Gradle

Repositórios Gradle
O Gradle procura dependências externas nos repositórios. Um repositório Gradle é organizado usando grupo, nome e versão. Gradle é compatível com diferentes formatos de repositório, como Maven e Ivy.

Noções básicas sobre gerenciamento de dependências no Gradle

Repositórios são usados ​​no Gradle para gerenciamento de dependências. Existem dois componentes nas dependências do Gradle: dependências e publicações do projeto.

Ao construir um projeto no Gradle, você provavelmente precisará de bibliotecas de outros desenvolvedores. Suponha que você precise da biblioteca Apache Commons Lang para manipulações especiais de strings. Então você precisa disso em seu classpath para que seu código funcione. E o Apache Commons Lang pode precisar de bibliotecas adicionais que você não conhece. O Gradle permite que você informe a dependência específica de que seu projeto precisa e ele irá para o repositório especificado como Maven ou Ivy e descobrirá todas as dependências relacionadas e fará o download dos arquivos e configurá-los para você automaticamente.

O Gradle também pode publicar seus artefatos. Você pode decidir o que a publicação significa para o seu caso particular. Você pode publicá-lo localmente ou publicá-lo em um repositório Maven ou Ivy.

Exemplo de repositório Gradle

Suponha que queremos usar a classe StringUtils da biblioteca Apache Commons Lang. Vamos configurar um diretor assim:

Olá Mundo
| - construir.gradle
'- src
| - principal
'- java
'-- Olá Mundo
'-- Olá Mundo.Java

No mundo helicoidal.java, você pode colocar o seguinte código:

import org.apache.bens comuns.lang3.StringUtils;
public class helloworld
public static void main (String [] args)
String greetings = "Olá, mundo!";
Sistema.Fora.println (saudações);
Sistema.Fora.println (StringUtils.swapCase (saudações));

E na construção.arquivo gradle, você pode colocar o seguinte:

aplicar plugin: 'java'
versão = '1.0 '
repositórios
mavenCentral ()

dependencies
grupo de compilação: 'org.apache.commons ', nome:' commons-lang3 ', versão:' 3.7 '

jar
das configurações.compilar.colete zipTree it

Vamos discutir o que está acontecendo no script de construção acima. Está dizendo ao Gradle para procurar no repositório Maven pelo commons-lang3 versão 3.7. Também informa ao Gradle para empacotar as dependências no arquivo jar. Se você remover o das configurações.compilar.collect zipTree it linha, então você terá que incluir as dependências externas no classpath ao executar o programa.

Agora, a partir da pasta raiz, você pode executar a compilação com o comando

jar de $ gradle
Você deve ver resultados como este:
jar de $ gradle
Baixe https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.pom
Baixe https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-parent / 42 /
commons-parent-42.pom
Baixe https: // repo.maven.apache.org / maven2 / org / apache / commons / commons-lang3 / 3.7 /
commons-lang3-3.7.jarra
CONSTRUIR COM SUCESSO em 6s
2 tarefas acionáveis: 1 executada, 1 atualizada

Você pode executar a construção assim:

$ java -cp build / libs / helloworld-1.0.jar helloworld
Olá Mundo!
Olá Mundo!

Se você não tivesse incluído as dependências em sua construção, as classes StringUtils não teriam sido incluídas em seu helloworld-1.0.arquivo jar. E você teria obtido um erro como este:

$ java -cp build / libs / helloworld-1.0.jar helloworld
Olá Mundo!
Exceção no thread "principal" java.lang.NoClassDefFoundError: org / apache / commons / lang3 /
StringUtils em helloworld.principal (helloworld.java: 11)
Causado por: java.lang.ClassNotFoundException: org.apache.bens comuns.lang3.StringUtils
em java.internet.URLClassLoader.findClass (URLClassLoader.java: 381)
em java.lang.ClassLoader.loadClass (ClassLoader.java: 424)
ao sol.misc.Launcher $ AppClassLoader.loadClass (Launcher.java: 331)
em java.lang.ClassLoader.loadClass (ClassLoader.java: 357)
… mais 1

O Gradle torna mais fácil empacotar suas dependências em seu pacote.

Conclusão

Usar repositórios Gradle e funcionalidades de dependências pode simplificar seu processo de gerenciamento de dependências. Você não precisa controlar tudo manualmente.

Um estudo mais aprofundado:

Gerenciamento de dependência do Gradle para projetos Java

Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...