Qual é a diferença entre Nexus e Maven ?
O que é apenas um cenário básico de uso Maven ? Que tal um cenário considerando apenas o Nexus ? E como fica quando eu quero usar os dois?
Sonatype Nexus e Apache Maven são dois softwares que geralmente trabalham juntos, mas executam partes muito diferentes do trabalho. O Nexus fornece um repositório enquanto o Maven usa um repositório para criar software.
Aqui está uma citação de " O que é o Nexus? ":
O Nexus gerencia "artefatos" de software necessários para o desenvolvimento. Se você desenvolver um software, suas construções poderão baixar dependências do Nexus e publicar artefatos no Nexus, criando uma nova maneira de compartilhar artefatos em uma organização. Embora o repositório Central sempre tenha servido como uma grande conveniência para os desenvolvedores, você não deve acessá-lo diretamente. Você deve fazer o proxy do Central com o Nexus e manter seus próprios repositórios para garantir a estabilidade em sua organização. Com o Nexus, você pode controlar completamente o acesso e a implantação de todos os artefatos da sua organização em um único local.
E aqui está uma citação de " Maven e Nexus Pro, feitos um para o outro ", explicando como o Maven usa repositórios:
O Maven aproveita o conceito de um repositório, recuperando os artefatos necessários para construir um aplicativo e implementando o resultado do processo de construção em um repositório. O Maven usa o conceito de repositórios estruturados para que os componentes possam ser recuperados para dar suporte à construção. Esses componentes ou dependências incluem bibliotecas, estruturas, contêineres, etc. O Maven pode identificar componentes em repositórios, entender suas dependências, recuperar tudo o que é necessário para uma compilação bem-sucedida e implantar sua saída nos repositórios quando a compilação estiver concluída.
Portanto, quando você quiser usar os dois, terá um repositório gerenciado pelo Nexus e o Maven acessará esse repositório.
Isso tem uma boa descrição geral: https://gephi.wordpress.com/tag/maven/
Deixe-me fazer uma declaração que pode colocar a diferença em foco:
Migramos nossa base de código do Ant para o Maven
Todas as bibliotecas de terceiros foram carregadas no Nexus. Maven está usando o Nexus como fonte de bibliotecas.
As funcionalidades básicas de um gerenciador de repositório como o Sonatype são:
Tudo o que eu entendi do meu aprendizado e o que eu acho que está aqui. Estou citando parte de um livro que aprendi sobre isso. O Nexus Repository Manager e o OSS do Nexus Repository Manager começaram como um gerenciador de repositório que suporta o formato de repositório Maven. Embora ele suporte muitos outros formatos de repositório agora, o formato de repositório Maven ainda é o formato mais comum e bem suportado para ferramentas de criação e provisionamento em execução na JVM e além. Este capítulo mostra exemplos de configurações para o uso do gerenciador de repositório com o Apache Maven e várias outras ferramentas. As configurações aproveitam a fusão de muitos repositórios e os expõem por meio de um grupo de repositórios. A configuração está documentada no capítulo, além da configuração usada por ferramentas específicas.