Como construir e empacotar uma aplicação Java?
Entenda como compilar e empacotar seu projeto Java em um arquivo JAR hospedado usando Maven ou Gradle.
📌 Por Que Preciso Construir Minha Aplicação Java?
🔧 Escolhendo uma Ferramenta de Construção
Ferramenta de Construção
Melhor Para
Arquivos Necessários
📦 Construindo Sua Aplicação Java
1
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.9.9</version>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>2
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<!-- NOTE: Replace this with the correct path to your project's main class -->
<mainClass>com.project.example.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>3
mvn clean package1
2
1
plugins {
id 'java'
id 'com.gradleup.shadow' version '8.3.6' // Plugin Shadow para Fat JAR
}plugins {
java
id("com.gradleup.shadow") version "8.3.6"
}2
shadowJar {
archiveClassifier.set('all')
manifest {
attributes(
'Main-Class': 'com.project.Main' // Substitua pela sua classe principal real
)
}
}
tasks.build.dependsOn shadowJar // Garantir que o shadowJar seja executado ao compilarimport com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
tasks.withType<ShadowJar> {
archiveClassifier.set("all")
manifest {
attributes(mapOf("Main-Class" to "com.project.Main")) // Substitua pela sua classe main real
}
}
tasks.named("build") {
dependsOn("shadowJar")
}3
gradle clean build1
2
Last updated