Java sem nutela no Ubuntu
Muitas vezes em C temos que compilar o projeto na mão.
A maioria das linguagens tem essa opção, vou explicar como fazer isso sem IDE de desenvolvimento, usando o VI no java.
Instalação
Para instalar o java vamos chama o terminal
sudo apt install openjdk-17-jdk-headless
Temos agora o ambiente montado, para começar a montar nosso projeto.
Git
git do projeto montado.
https://github.com/marcelomaurin/Java-Hello-World
Criando o Hello World
Criaremos o famoso Hello World, pois existe a lenda que se não criarmos ele no começo, tudo dá errado. Então vamos seguir:
Fonte: hello.java
// Meu primeiro programa
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Agora para testar, vamos executar ele direto, executando o script:
java hello.java
Segue o exemplo de sua execução:
Agora iremos criar o script para compilação:
Arquivo: Makefile
JCC=javac
SOURCE= \
hello.java
TARGET= HelloWorld
all: compile run
compile:
$(JCC) $(SOURCE)
run:
java $(TARGET)
Para compilar, chamamos o make compile, e para executar o make run , conforme figura abaixo:
Debugando o java
Para debugar o fonte temos que compilar o projeto com a opção -g, conforme segue o script do Makefile alterado.
JCC=javac
SOURCE= \
hello.java
TARGET= HelloWorld
DEBUG= -g
all: compile run
compile:
$(JCC) $(DEBUG) $(SOURCE)
run:
java $(TARGET)
O parametro -g, cria os espaços de debug necessários para o debug.
Ao compilar agora, podemos chamar o debug em Java.
O jdb é semelhante ao gdb do C, para executar o mesmo, chamamos o nosso programa conforme exemplo abaixo:
jdb HelloWorld
Podemos verificar que o código foi rodado inteiramente, pois não tinhamos breakpoints.
Para incluirmos o break point usamos o comando:
stop in [classe].[metodo]
Para rodar no debug use o comando:
run
Conforme figura abaixo:
Para continuar usamos o step, e o print mostra a variavel.
Com isso, mostramos as funcionalidades básicas para analisar e rodar uma aplicação Java pelo terminal, sem necessidade de incluir uma IDE.
Espero que tenham gostado, críticas e comentários, fico no aguardo.