Java minimiza as dependências
-
21-09-2019 - |
Pergunta
Eu tenho uma situação em que há um pequeno pedaço de código Java que tem um grande número de frascos dos quais depende. No entanto, as dependências dentro desses frascos são muito superficiais. Na maioria dos casos, depende apenas de um frasco para uma única interface.
Em vez de distribuir todos os frascos com o aplicativo, gostaria de distribuir os arquivos de classe específicos dentro dos frascos que ele realmente usa. O motivo disso é economizar espaço (este código viverá em um applet).
Alguém conhece uma ferramenta ou método para fazer isso automaticamente? Supondo que todas as dependências sejam estáticas, isso parece totalmente possível. Alguma ideia?
Solução
Classdepandjar irá tirar uma base de código para as classes essenciais. É usado no mundo Jini para fornecer potes de tamanho ideal, mas não há nada específico para a Jini.
Disponível como uma tarefa de formiga.
Outras dicas
Até onde eu sei, isso é apenas maven, mas é um bom começo
Plug -in maven na sombra: Este plug -in fornece a capacidade de empacotar o artefato em um Uber -Jar, incluindo suas dependências e sombra - ou seja, renomear - os pacotes de algumas das dependências.
Proguard diminui/otimizando e também ofuscação. Eu acho que você pode configurá -lo para fazer apenas um ou outro.