Segue um script de configuração para compilar projetos java e gerar uma distribuição com todas dependências, com opcional de fatJar.
– Configurar o Manifest
– Configurar a execução pela IDE através do type: JavaExec
– Gerar uma distribuição com as dependências dentro da pasta libs/
– Gerar uma distribuição fatJar
– Maven Can’t execute jar- file: “no main manifest attribute”
ARQUIVO POM.XML:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <name>NomeDoMeuProjeto</name> <modelVersion>4.0.0</modelVersion> <groupId>br.com.helpdev</groupId> <artifactId>NomeDoMeuProjeto</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--Versão java source e target--> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <!-- java.mainClass: Java main Class --> <java.mainClass>br.com.helpdev.teste.Main</java.mainClass> </properties> <dependencies> <dependency> <groupId>xxxxxxx</groupId> <artifactId>xxxxxxxx</artifactId> <version>xxxxxx</version> </dependency> <dependency> <groupId>xxxxxxx</groupId> <artifactId>xxxxxxxx</artifactId> <version>xxxxxx</version> </dependency> </dependencies> <build> <plugins> <!-- FATJAR --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4.1</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>libs/</classpathPrefix> <mainClass>${java.mainClass}</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <!-- JAR EXTERNAL LIBS --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>libs/</classpathPrefix> <mainClass>${java.mainClass}</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>copy</id> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/libs </outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
Maven – Gerar uma distribuição com suas dependências / Gerar um FatJar / Configurar o JavaExec / Configurar Manifest