Edit page

Guia Prático da Aplicação Bancária

Apesar de bastante claro na Wiki e explicado pelo Prof. em aula (exatamente deste modo), detalha-se aqui como correr a aplicação de exemplo Bank. Nas palavras do professor, se conseguirem correr isto tudo sem problemas, é bastante provável que consigam desenvolver o projeto sem grandes dores de cabeça do ambiente.

1. Instalar o Java

Se não estiver já instalado, é necessário instalar uma versão do Java >=14. Em Arch, isto faz-se com paru -S jdk-openjdk, em Ubuntu com sudo apt install openjdk-16-jdk, etc.

Confirmar a versão com

java -version
javac -version

É extremamente importante que estes dois números sejam iguais e que sejam >=14!

2. Fazer Download do Código de Apoio

Criar uma diretoria para os ficheiros:

mkdir TesteBanco
cd TesteBanco

Descarregar os pacotes comprimidos da Wiki da cadeira e verificar que os 3 estão presentes:

wget https://web.tecnico.ulisboa.pt/~david.matos/w/pt/images/3/37/Po-uilib-202109221024.tar.bz2
wget https://web.tecnico.ulisboa.pt/~david.matos/w/pt/images/b/b3/Po-bank-core-202109221024.tar.bz2
wget https://web.tecnico.ulisboa.pt/~david.matos/w/pt/images/a/aa/Po-bank-app-202109221024.tar.bz2
ls

3. Extrair as Pastas dos Arquivos

Extrair usando x de extract, v de verbose e f de file; verificar que (para além dos 3 arquivos) estão presentes as 3 pastas:

tar xvf Po-uilib-202109221024.tar.bz2
tar xvf Po-bank-core-202109221024.tar.bz2
tar xvf Po-bank-app-202109221024.tar.bz2
ls

As dependências que existem são peer dependencies, ou seja, as 3 pastas devem estar no mesmo diretório. Mais que isso, as pastas devem-se chamar o nome dos pacotes - é necessário retirar o número da versão. Para isso, podemos fazer symbolic links do nome esperado para as pastas reais, sem perder informação relativa à versão:

ln -s po-uilib-202109221024 po-uilib
ln -s po-bank-core-202109221024 po-bank-core
ln -s po-bank-app-202109221024 po-bank-app
ls

Verificar que agora existem 3 arquivos, 3 pastas e 3 links (=9 itens).

5. Compilar

A ordem interessa: tem-se que

  • po-uilib não depende de nada, logo proceder logo à sua compilação;
  • po-bank-core não depende de nada (também poderia vir antes do po-uilib);
  • po-bank-app depende dos outros 2, logo só pode ser compilado depois destes.
cd po-uilib
make
cd ../po-bank-core
make
cd ../po-bank-app
make
cd ..

6. Executar

Primeiro, indicar ao Java onde encontrar as classes necessárias:

export CLASSPATH=$(pwd)/po-uilib/po-uilib.jar:$(pwd)/po-bank-core/po-bank-core.jar:$(pwd)/po-bank-app/po-bank-app.jar

Finalmente, executar a aplicação, passando como argumento o nome do banco, neste caso BPO (= Banco de Programação com Objetos):

java bank.app.App BPO

Parabéns!

Se tudo isto correu na perfeição, em princípio o ambiente é adequado para o desenvolvimento do projeto.