Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Sufixo indesejado geração de um fat jar via plugin maven

Opa, eu tenho uma duvida aqui um pouco avançada com relação à um plugin especifico, que apesar de ser bobagem, meio que fiquei impressionado por nao ter conseguindo achar uma solução.

No trabalho, ja fiz muitos projetos para fazer aplicações desktop em Java SE, em que se gera um JAR e executa normalmente, como um utilitário normal de qualquer programa. Porem, os projetos foram feitos usando o Maven, e para nao passar as dependencias diretamente via classpath quando digitasse o comando java -jar, eu usei a estrategia de um fat jar, para que o maven embutisse todas as dependencias dentro do jar para ser executado quando o usuario clicasse, a ideia sequer desses projetos eram para ser executados via comando, mas sim clicando nos jar para abrir as aplicações.

O problema, é que o plugin especifico gera um sufixo no nome do jar com o nome "jar-with-dependencies". Por exemplo, se minha aplicação se chama foo.jar, entao no build ele gera um foo-jar-with-dependencies.jar. O plugin é este:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <archive>
                                <manifest>
                                    <mainClass>
                                        foo.bar.MinhaClasseMain
                                    </mainClass>
                                </manifest>
                            </archive>
                            <descriptorRefs>
                                <descriptorRef>jar-with-dependencies</descriptorRef>
                            </descriptorRefs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Pelas pesquisa que eu fiz, nesse plugin nao tem como ele gerar um fat jar sem esse sufixo, o que eu acho bastante tosco.

Há alguma forma de tipo no Maven renomear isso apagando o sufixo?

2 respostas
solução!

Oi Diego,

É possível remover esse sufixo com a tag <appendAssemblyId>false</appendAssemblyId>:

<configuration>
    <appendAssemblyId>false</appendAssemblyId>
    <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
</configuration>

E caso queira mudar o nome do jar, basta adicionar a tag <finalName>:

<configuration>
    <finalName>aplicacao</finalName>
    <appendAssemblyId>false</appendAssemblyId>
    <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
</configuration>

Bons estudos!

boa!! Muito obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software