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?
Discloud não compila projetos Java automaticamente.
Você deve:
✔ Compilar seu código em arquivos .class
.
✔ Empacotar tudo em um único arquivo .jar
(incluindo dependências).
✔ Garantir que o arquivo META-INF/MANIFEST.MF
defina corretamente a Main-Class.
🔧 Escolhendo uma Ferramenta de Construção
Maven
Grandes projetos, aplicativos com muitas dependências
pom.xml
Gradle
Projetos modernos com scripts de construção flexíveis
build.gradle
ou build.gradle.kts
📦 Construindo Sua Aplicação Java
Apache Maven é uma ferramenta de automação de construção amplamente usada que gerencia construções de projetos, dependências e documentação usando um Modelo de Objeto de Projeto (POM).
Adicione o Plugin do Compilador Maven**.**
Garanta que seu pom.xml
inclua o Plugin do Compilador Maven para especificar a versão do Java para compilação. Isso evita problemas de compatibilidade ao executar o projeto.
<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>
Especifique a Classe Principal**.**
Para tornar sua aplicação executável, você precisa especificar o ponto de entrada (método main
). Isso é feito usando o Plugin Maven Shade, que também garante que todas as dependências sejam agrupadas dentro de um único arquivo JAR.
<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>
Construa o Projeto**.**
Execute o seguinte comando para limpar construções antigas e gerar os novos arquivos JAR:
mvn clean package
Após executar mvn package
, o Maven criará dois arquivos JAR diferentes dentro do diretório target/
:
JAR Padrão (JAR Original do Projeto).
📌 Nome do arquivo: original-<artifactId>-<version>.jar
📌 Exemplo: original-com.maven.discordbot-0.0.1-SNAPSHOT.jar
📌 Conteúdo:
Apenas o código compilado do seu projeto.
NÃO inclui dependências.
NÃO use este arquivo para execução a menos que as dependências sejam tratadas separadamente.
JAR Gordo (JAR Sombreado com Dependências).
📌 Nome do arquivo: <artifactId>-<version>.jar
📌 Exemplo: com.maven.discordbot-0.0.1-SNAPSHOT.jar
📌 Conteúdo:
Seu código de aplicação compilado.
Todas as dependências incluídas (JDA, Apache Commons, etc.).
Arquivo de manifesto (
MANIFEST.MF
) com a entradaMain-Class
.
Use este arquivo para execução e upload.
Last updated