-
Notifications
You must be signed in to change notification settings - Fork 0
Manual do Desenvolvedor – Instalação de Ferramentas de Desenvolvimento
Resolvidas as ferramentas de gerência de projeto, passamos às ferramentas de desenvolvimento. A tabela abaixo resume as ferramentas que devem ser instaladas e suas respectivas versões homologadas para o projeto, com link para o donwload:
Tecnologia | Ferramenta | Versão | Download |
---|---|---|---|
SDK Java | OpenJDK | 13 | jdk.java.net |
IDE | Eclipse | 2020-03 | eclipse.org |
Banco de Dados | MySQL Community Server | 8.0 | dev.mysql.com |
Front-end do BD | MySQL Workbench | 8.0 | dev.mysql.com |
Driver JDBC | MySQL Connector/J | 8.0 | dev.mysql.com |
Servidor Jakarta EE | WildFly | 19.1 | wildfly.org |
A seguir, detalhamos algumas instruções de instalação das ferramentas listadas acima.
A recomendação é a utilização da versão livre do Java Development Kit, o OpenJDK. Isso se dá porque desde a versão 11 do Java, há uma armadilha legal na instalação do Java quando usada a versão mais fácil de instalar, obtida no site da Oracle. Apesar de aparentemente a armadilha não afetar o desenvolvimento do Marvin, por ser um projeto sem fins lucrativos, melhor evitar se possível.
A desvantagem é que a instalação pode ser mais complicada, pois o que é disponibilizado para download é um arquivo compactado e não um instalador como na versão da Oracle. Seguem algumas sugestões para diferentes sistemas operacionais (eu testei apenas no MacOS, caso você teste em outro sistema por favor contribua com o manual!):
- Linux: usando o APT, você pode seguir os passos deste tutorial para o OpenJDK 13 no Ubuntu. Há também um tutorial que usa o JDK Zulu, da Azul, que segundo eles é livre e gratuita, pra Ubuntu, Debian ou RHEL;
- MacOS: usando o Homebrew (recomendado), você pode seguir os passos deste tutorial para o OpenJDK 13. Caso não tenha nem queira instalar o Homebrew, há um outro tutorial para instalação manual;
- Windows: uma resposta no Stack Overflow inclui os passos para instalação do OpenJDK em sua versão 11, que pode ser adaptado para a versão 13.
Além disso, vale notar que apesar do Java 14 já ter sido lançado, homologamos a versão 13 pois, aparentemente, o WildFly não é compatível com Java 14 e a execução do Marvin neste ambiente estava causando erros relacionados a uma classe deprecated que o Java 14 removeu e o WildFly continua usando.
Se você já tem um JDK instalado: não tem problema ter vários JDKs instalados no mesmo computador. No Eclipse, por exemplo, é possível registrar todos os JDKs instalados e escolher qual deles quer usar em cada projeto. Instale o OpenJDK 13 para usar com o Marvin.
O Eclipse é disponibilizado na forma de um instalador que permite a instalação de diversas composições da IDE (para Java, Jakarta EE, C/C++, etc.). Selecione e instale a composição Eclipse IDE for Enterprise Java Developers.
Se você já tem o Eclipse instalado: se for outra versão, pode instalar também a versão 2020-03 e ter várias versões do Eclipse instaladas (basta que apontem para workspaces diferentes quando executadas). Se for a versão 2020-03 mas não a composição for Enterprise Java Developers, basta ir ao Eclipse Marketplace (como nas instruções abaixo), procurar por Web Tools Platform e instalar este componente.
Ao executar o Eclipse pela primeira vez, instale a extensão que permite que o servidor de aplicações WildFly seja controlado de dentro do Eclipse, o JBoss Tools:
- No Eclipse, clique em Help > Eclipse Marketplace;
- Procure por JBoss Tools;
- Clique em seu botão Install e siga o fluxo até o componente ser instalado e o Eclipse reiniciado.
O servidor MySQL e o MySQL Workbench possuem assistente de instalação para Windows e MacOS. Estão disponíveis também para instalação no Ubuntu/Debian Linux via repositório APT. Já o driver MySQL (Connector/J) pode ser obtido apenas como um arquivo compactado (escolha a opção Platform Independent) e descompactado em alguma pasta do seu computador.
Se você já tem o MySQL instalado: muito provavelmente o Marvin irá funcionar com outras versões do servidor MySQL e as instruções que envolvam o MySQL Workbench neste manual podem ser adaptadas, fique à vontade para testar. Caso resolva atualizar o MySQL em sua máquina, recomenda-se antes exportar (mysqldump
) todas as suas bases de dados. No MacOS, por exemplo, ao instalar uma versão nova do servidor ele deixa de acessar os bancos de dados da versão antiga (ainda ficam no disco, mas não são facilmente recuperáveis, é mais fácil fazer backup antes).
O WildFly em si é obtido num arquivo compactado (.zip
ou .tar.gz
) e precisa apenas ser descompactado. Sugere-se apenas (quase que por superstição) que o caminho desta pasta não possua espaços ou caracteres acentuados.
Se você já tem o WildFly instalado: ainda que o Marvin funcione em versões anteriores do WildFly, recomenda-se usar a versão homologada. É possível ter vários servidores WildFly instalados na máquina e integrados ao Eclipse (vide instruções abaixo). Ao obter o Marvin dentro do Eclipse, associe-o ao WildFly 19.
Em seguida, podemos já integrá-lo ao Eclipse para poder executá-lo:
-
No Eclipse, abra a visão Servers (se não estiver visível, clique em Window > Show View e procure por ela);
-
Clique no link "No servers are available. Click this link to create a new server..." caso a visão Servers esteja vazia. Como alternativa, clique com o botão direito em um espaço em branco desta visão e selecione New > Server;
-
Procure a pasta JBoss Community, selecione WildFly 19 e clique em Next duas vezes;
-
Na última tela, clique no botão Browse do campo Home Directory e aponte para o diretório do WildFly que você acabou de descompactar;
-
Nesta mesma tela, no campo Runtime JRE, assegure-se que o Execution Environment escolhido é o JavaSE-13 e clique Finish.
Para testar se tudo deu certo, selecione o WildFly 19 que vai aparecer na visão Servers e clique no botão "play" (:arrow_forward:) verde ou clique com o botão direito e selecione Start para iniciar o servidor. A visão Console do Eclipse deve exibir uma série de mensagens de log, terminando com linhas parecidas com estas abaixo:
INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 19.1.0.Final (WildFly Core 11.1.1.Final) started in 5100ms - Started 316 of 582 services (374 services are lazy, passive or on-demand)
Abra um navegador e acesse o endereço http://localhost:8080/ e você deverá ver a mensagem de boas-vindas do WildFly. Retorne à visão Servers e interrompa o servidor (botão "stop" ⏹️ vermelho ou clique-direito e Stop).
Na sequência, integre o WildFly também com o MySQL (nas instruções, considere que $WILDFLY_HOME
representa o diretório do WildFly no seu computador):
-
Na pasta
$WILDFLY_HOME/modules
, crie a seguinte estrutura de diretórios:com/mysql/main
(estamos usando/
para separar subdiretórios, usuários de Windows troquem para\
); -
Localize o arquivo
mysql-connector-java-8.0.20.jar
na pasta descompactada do MySQL Connector/J e copie-o para a pasta recém criada$WILDFLY_HOME/modules/com/mysql/main
(ajuste o número de versão se necessário); -
Ainda em
$WILDFLY_HOME/modules/com/mysql/main
, crie um arquivo chamadomodule.xml
com o seguinte conteúdo (novamente, ajuste o número de versão se necessário):<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-8.0.20.jar"/> </resources> <dependencies> <module name="javax.api"/> </dependencies> </module>
-
No Eclipse, abra a visão Servers e garanta que o WildFly não está executando. Então, procure por WildFly 19/Filesets/Configuration File/standalone.xml e abra este arquivo. Usando a aba Source no editor, procure pela tag
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
. Dentro desta tag, localize<datasources>
e então<drivers>
. Dentro da tag<drivers>
(acima ou abaixo do driver H2 que já está lá, tanto faz) adicione a configuração do driver do MySQL:<driver name="mysql" module="com.mysql"> <driver-class>com.mysql.cj.jdbc.Driver</driver-class> </driver>
Para testar se tudo deu certo, feche o arquivo de configuração e inicie o WildFly novamente. Caso esteja tudo certo, na visão Console não haverá nenhum erro e mensagens similares a estas serão exibidas:
INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 44) WFLYJCA0005: Deploying non-JDBC-compliant driver class com.mysql.cj.jdbc.Driver (version 8.0)
INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) WFLYJCA0018: Started Driver service with driver-name = mysql
(Se estiver curioso porque o log reporta que o driver do MySQL não é compatível com JDBC, leia este post no Stack Overflow. Não se preocupe que ainda assim vai funcionar.)
Instalados (e configurados) o JDK, o Eclipse, o MySQL e o WildFly, já é possível obter o código do Marvin e executá-lo em sua máquina local. No entanto, sugerimos antes disso a realização de um exercício para que você possa se familiarizar com o JButler, uma biblioteca de componentes usada pelo Marvin, bem como a arquitetura proposta e as tecnologias Jakarta EE utilizadas. Veja na sequência.