Nesse repositório tem projeto gradle com Java para demonstrar como usar uma biblioteca de terceiros (arquivo .jar
armazenado dentro do diretório do projeto).
Para o exemplo foi usada a biblioteca Algs4 da universidade de Princeton, que está sob licença de software livre GPL versão 3.
Dentro do arquivo build.gradle deve-se incluir a dependência para o arquivo algs4.jar. No arquivo build.gradle também foi deixado um exemplo de como usar o https://jitpack.io para incluir uma dependência de um projeto hospedado no github. Assim, seria possível baixar a biblioteca algs4.jar diretamente do repositório https://github.com/emersonmello/algs4/releases/tag/latest.
No arquivo build.gradle foi feito uso do plugin application para indicar o nome da classe principal do projeto. Ou seja, uma classe que possui o método main
e que deverá ser invocado quando executada tarefa run
. Isso foi feito com as seguintes linhas:
application {
// Define a classe principal da aplicação
mainClass = 'poo.Principal'
}
Para executar a aplicação:
# Compilando o projeto
gradle build
# Executando o projeto usando gradle
gradle run
# Executando o projeto usando gradle e passando
# dois argumentos de linha de comando
gradle run --args="POO engtelecom"
Uma aplicação Java poderia processar um arquivo texto que enviado para essa por meio do redirecionamento da entrada. Por exemplo, o trecho abaixo fará a leitura de todas as linhas do arquivo texto encaminhado e irá imprimir tais linhas:
package poo;
import java.util.Scanner;
public class Principal{
public static void main(String[] args){
Scanner entrada = new Scanner(System.in);
while(entrada.hasNext()){
System.out.println(entrada.nextLine());
}
entrada.close();
}
}
No arquivo build.gradle foram adicionadas as seguintes linhas para definir o fluxo de entrada padrão quando for executada a tarefa run
.
// Definindo o fluxo de entrada padrão quando o projeto for executado
run{
standardInput = System.in
}
Com essas linhas é possível executar o projeto usando o gradle e com o redirecionamento da entrada.
Supondo que queira enviar o conteúdo do arquivo aulas.txt
para o aplicativo Java, então a linha de comando para executar o código seria:
gradle run < aulas.txt
É possível compilar e executar esse projeto sem usar o gradle. Contudo, como esse projeto faz uso de uma biblioteca de terceiros (não presente no JDK), é necessário informar o caminho dessa biblioteca (incluir no classpath java) para a compilação e para a execução.
cd app/src/main/java
javac -cp ../../../libs/algs4.jar:. poo/Principal.java
# Considerando que esteja dentro do diretório src/main/java
java -cp ../../../libs/algs4.jar:. poo.Principal POO
Veja documentação oficial que está disponível em https://docs.gradle.org/current/userguide/upgrading_version_8.html
gradle wrapper --gradle-version latest