Olival Neto
Olival Neto29/01/2023 22:05
Compartilhe

Qual a diferença do Maven para o NPM? - Você sabe o que é cada um?

  • #JavaScript
  • #Java

Fala, Dev. Para ajudar a explicar, vou trazer o diálogo que tive com o ChatGPT. Eu estava procrastinando o aprendizado desta tecnologia por não ter entendido a sua finalidade.

Mas, agora que compreendi, o aprendizado faz sentido e assim, consegui progredir. Antes de mostrar o diálogo, deixo a dica. Se você estiver sentindo que os estudos não estão progredindo, e você não vê sentido de aprender algo que pode ser complexo, e você não entende muito bem onde será aplicado, então, pesquise um pouco sobre isso.

A nossa mente não gosta de gastar energia em algo que não faz sentido, ou que ela não consegue enxergar o uso. Logo, ela cansa, dá vontade de fazer outra coisa, estressa e assim, a gente deixa para depois, ou força aprender de qualquer forma. Então, nada melhor do que informação de qualidade. Vamos lá?!

Pergunta: qual é a finalidade do Maven na programação?

Resposta:

"A finalidade do Maven na programação é automatizar o processo de build, gerenciamento de dependências e gestão de projetos Java. Ele permite que desenvolvedores configurem uma estrutura de projeto padrão, simplificando a integração de bibliotecas e ferramentas externas, além de fornecer informações sobre o progresso do projeto".

Pergunta: Como isso é aplicado no Java?

Resposta:

"A aplicação do Maven no Java é feita através da criação de arquivos de configuração chamados de "pom.xml". Nestes arquivos, os desenvolvedores especificam informações sobre o projeto, como dependências, plugins e informações de build. O Maven utiliza essas informações para automatizar tarefas como compilação, teste, implantação e gerenciamento de dependências. Além disso, o Maven também fornece uma estrutura de diretórios padrão para os projetos, o que facilita a organização e manutenção do código".

Pergunta: No caso, o Maven é semelhante ao NPM?

Resposta:

"Sim, o Maven é similar ao npm (Node Package Manager) em alguns aspectos. Ambas as ferramentas são gerenciadores de pacotes e dependências que ajudam a automatizar o processo de build e gerenciamento de projetos. No entanto, há algumas diferenças fundamentais entre eles: o Maven é específico para a linguagem Java, enquanto o npm é usado para projetos Node.js; o Maven utiliza arquivos XML para configuração, enquanto o npm usa arquivos package.json; e o Maven é mais orientado a projetos de grande porte, enquanto o npm é mais adequado para projetos pequenos e rápidos".

Pergunta: O que preciso saber para aplicar o Maven?

Resposta:

"Para aplicar o Maven em seus projetos Java, você precisa ter conhecimento nas seguintes áreas:

  1. Linguagem Java: O Maven é específico para projetos Java, portanto, é importante ter conhecimento sólido na linguagem.
  2. Conhecimento em XML: O Maven usa arquivos XML para configuração, então é importante ter familiaridade com a sintaxe e estrutura desta linguagem.
  3. Conceitos de Build Automation: Você precisa entender o processo de build automatizado, como compilação, teste, implantação, etc.
  4. Gerenciamento de dependências: É importante compreender como o Maven gerencia as dependências do projeto, incluindo o download e o gerenciamento de bibliotecas externas.
  5. Conhecimento em ferramentas de linha de comando: Você precisa saber como usar o terminal para executar comandos do Maven.

Em geral, é uma boa ideia praticar com projetos pequenos e se familiarizar com a documentação do Maven antes de aplicá-lo em projetos maiores".

Pergunta: Poderia me recomendar algo a mais?

Resposta:

"Claro, além disso, você pode seguir essas dicas para melhorar seus conhecimentos sobre Maven:

  1. Pratique com projetos reais: Crie seus próprios projetos ou participe de projetos open-source que usem o Maven.
  2. Estude a documentação oficial: A documentação oficial do Maven é uma ótima fonte de informações sobre a ferramenta.
  3. Assista a tutoriais em vídeo: Há muitos tutoriais em vídeo no YouTube que podem ajudá-lo a compreender o funcionamento do Maven.
  4. Participe de comunidades online: Fóruns e grupos no LinkedIn e Stack Overflow são excelentes recursos para se conectar com outros desenvolvedores e aprender sobre o Maven.
  5. Leitura de livros: Há vários livros sobre Maven disponíveis na Amazon e em outras lojas de livros, que podem fornecer uma visão aprofundada da ferramenta.

Seguindo essas dicas, você pode desenvolver habilidades sólidas na utilização do Maven e aplicá-lo com sucesso em seus projetos Java".

Pergunta: Como criar um projeto com maven pelo cmd?

Resposta:

"Você pode criar um novo projeto Maven usando o seguinte processo no prompt de comando:

  1. Verifique se o Maven está instalado: Digite "mvn -v" no prompt de comando para verificar se o Maven está instalado corretamente.
  2. Navegue até a pasta onde você deseja criar o projeto: Use o comando "cd" para mudar de pasta.
  3. Execute o seguinte comando para criar um novo projeto Maven:

mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  • groupId é o identificador de grupo do seu projeto, geralmente uma identificação invertida de seu nome de domínio.
  • artifactId é o nome do seu projeto.
  • archetypeArtifactId é o modelo que será usado para criar o projeto. O maven-archetype-quickstart é uma boa opção para iniciantes.
  • interactiveMode é usado para desativar o modo interativo, permitindo que você crie o projeto automaticamente.

4. Navegue para o diretório do projeto: Use o comando "cd my-project" para navegar para o diretório do projeto recém-criado.

5. Compile e execute o projeto: Use o comando "mvn compile exec:java" para compilar e executar o projeto.

Com esse processo, você deve ter criado um projeto Maven básico, pronto para ser customizado de acordo com as suas necessidades".

No meu caso, ainda tive que editar o arquivo pom.xml e adicionar esse trecho de código que indica a versão 1.7, conforme segue abaixo:

<properties>

  <maven.compiler.source>1.7</maven.compiler.source>

  <maven.compiler.target>1.7</maven.compiler.target>

 </properties>

Após salvar o arquivo, executei com o comando: mvn compile

e compilou corretamente.

Você pode testar os arquivos com:

mvn test

E após isso, pode criar um arquivo .jar que fica na pasta target do projeto, digitando:

mvn package

Após, isso, caso queira limpar o projeto, ou seja, excluir a pasta target, basta digitar o comando:

mvn clean

Para fechar, o Maven e o NPM são gerenciadores de pacotes. Sendo que o Maven é exclusivo para o Java. Você pode ver a utilização dele na prática, ao criar um projeto com a IDE Netbeans ou Eclipse que já automatiza tudo isso. Já o NPM é utilizado para gerenciar pacotes de aplicações via Node.JS que pode ser utilizado com JavaScript e bibliotecas.

Esse foi o meu diálogo, para compreender o que é o Maven e como usá-lo. Gostou da visão?

Bons estudos.

Compartilhe
Comentários (3)
Olival Neto
Olival Neto - 30/01/2023 15:12

Seguindo a sugestão do Afonso, criei a conclusão. Ambos podem ser utilizados, mas em cenários diferentes.

JA

João Andrade - 30/01/2023 14:24

A conclusão do assunto é que, em Java, MAVEN é vida.

Afonso Simão
Afonso Simão - 30/01/2023 12:28

Muito legal o artigo..

mas ainda preferiria ler a sua conclusão desse assunto do que ver o que a AI fez.