O Maven Shade Plugin é uma ferramenta poderosa que permite aos desenvolvedores combinar artefatos, incluindo suas dependências, em um único , abrangente "uber jar". Isso pode simplificar bastante os processos de implantação e distribuição.
Compreendendo os Uber Jars
No ecossistema Maven, cada artefato normalmente contém apenas suas próprias classes e recursos. Quando um projeto é construído, o Maven localiza todas as dependências necessárias (JARs, etc.) com base no gerenciamento de dependências especificado.
Em contraste, um uber jar consolida todas as dependências em um único e enorme JAR. Isso simplifica a execução, pois apenas um JAR grande é necessário para executar um aplicativo, em vez de vários JAR menores.
Por que criar Uber Jars?
Os Uber Jars oferecem diversas vantagens:
Cenário de exemplo
Considere uma situação hipotética em que:A biblioteca Foo depende do Bar biblioteca versão 1.0.O projeto Qux depende de Foo e Bar versão 2.0 (requer um novo recurso não disponível em 1.0).
Isso cria um conflito de dependência: Qux não pode usar Bar 1.0 (Dependência de Foo) porque seu código requer os recursos do Bar 2.0.Incorpore este código de barras "realocado" no uber jar Foo.
Ao fazer isso, Qux pode usar o Bar 2.0 com segurança sem entrar em conflito com as dependências do Foo, já que Foo agora tem sua própria cópia do Bar em um pacote diferente.Criar uber jars para implantação ou execução simplificada.Resolver conflitos de dependência realocando pacotes.
Aprimorando a modularidade reembalando as dependências em uma estrutura consistente.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3