anúncios

Mostrando postagens com marcador Maven. Mostrar todas as postagens
Mostrando postagens com marcador Maven. Mostrar todas as postagens

sábado, 18 de setembro de 2021

Configurando ambiente de desenvolvimento Java no Linux

O objetivo deste post é explicar os procedimentos de configuração do ambiente de desenvolvimento Java Web no Linux na distro Debian e Ubuntu.

openJDK

Usando PPA

Adicionar o repositório openJDK para facilitar o gerenciamento de versões

$ sudo add-apt-repository ppa:openjdk-r/ppa

Atualizar a lista de repositório

$ sudo apt-get update

Instalação da versão openJDK 8

$ sudo apt-get install openjdk-8-jdk

Substitua o 8 pela versão outra versão do openJDK que desejar, como 9, 10, 11, 12, 13, 14, 15, 16, 17, 18

Pelo repositório oficial da distro

Outra opção de instalação do openJDK, caso não costuma instalar pacotes com PPA, mas sim apenas no repositório oficial da distro, então é descrito nessa seção.

$ sudo apt install default-jdk

Irá instalar a versão corrente do openJDK disponível no repositório oficial da distro Debian/Ubuntu

Caso por necessidade do projeto precise instalar o openJDK 8, segue os procedimentos

$ sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common

$ wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -

$ sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

$ sudo apt install adoptopenjdk-8-hotspot

Verificar a versão

$ java -version

Alterar a versão do openJDK default no PATH

$ sudo update-alternatives --config java

Irá listar as versões openJDK disponíveis no sistema e selecione a versão openJDK que deseja utilizar como default

Definir o caminho absoluto do openJDK default na variável JAVA_HOME

$ sudo vim /etc/environment

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

ESC + :x (salvar e sair do editor Vim)

Testar

$ source /etc/environment

$ echo $JAVA_HOME

Apache Maven

Download do Apache Maven

O Apache Maven é um gerenciador de bibliotecas e suas dependências do projeto Java. O Maven mantém o arquivo pom.xml para centralizar as bibliotecas que o projeto irá precisar.

Até a data de publicação deste post, a versão atual do Maven é 3.8.2, caso por eventual motivo desejar obter uma versão anterior ou dependendo da data que estiver seguindo esse post, acesse a URL https://downloads.apache.org/maven/ e escolha a versão mais recente.

$ wget https://downloads.apache.org/maven/maven-3/3.8.2/binaries/apache-maven-3.8.2-bin.tar.gz -P /tmp

$ sudo tar -xzvf /tmp/apache-maven-3.8.2-bin.tar.gz -C /opt

Configuração do ambiente para o Maven

Para que o Maven funcione corretamente, precisa configurar as variáveis de ambiente. Isso inclui: JAVA_HOME, M3_HOME, MAVEN_HOME, PATH

Adicione o conteúdo abaixo no arquivo /etc/profile.d/maven.sh

$ sudo vim /etc/profile.d/maven.sh

export JAVA_HOME=/usr/lib/jvm/default-java
export M3_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=$M2_HOME/bin:$PATH

ESC +:x (salvar e sair do editor Vim)

Permissão ao script /etc/profile.d/maven.sh

$ sudo chmod +x /etc/profile.d/maven.sh

Load do script setado nas variáveis de ambiente

$ source /etc/profile.d/maven.sh

Download e configuração do Apache Tomcat

Criar um grupo e usuário no Tomcat sem acesso ao terminal

$ sudo groupadd tomcat
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

De forma análoga que foi comentado na versão do Maven, segue o mesmo para versão do Tomcat. Até a data de publicação deste post, a versão recente do Tomcat é 9.0.53.

$ wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.53/bin/apache-tomcat-9.0.53.tar.gz

$ sudo tar -xzvf apache-tomcat-9.0.53.tar.gz -C /opt --strip-components=1

$ sudo chgrp -R tomcat /opt/tomcat

$ sudo chown -R tomcat /opt/tomcat/webapps/ /opt/tomcat/work/ /opt/tomcat/temp/ /opt/tomcat/logs/

$ sudo chmod -R g+r /opt/tomcat/conf

$ sudo chmod g+x /opt/tomcat/conf

$ sudo vim /etc/systemd/system/tomcat.service

SystemD Arquivo tomcat.service

[Unit] Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_Home=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS.awt.headless=true -Djava.security.egd=file:/dev/v/urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

ESC +:x (salvar e sair do editor Vim)

$ sudo systemctl daemon-reload

Configurar a interface de gerenciamento Tomcat

Edite o arquivo tomcat-users.xml

$ sudo vim /opt/tomcat/conf/tomcat-users.xml

Arquivo tomcat-users.xml simplificado

<tomcat-users . . .>
<tomcat-users . . .>
>user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>

Gerenciador de host no Tomcat: /opt/tomcat/webapps/manager/META-INF/context.xml

Iniciar/Reiniciar o serviço Tomcat

$ sudo systemctl start tomcat

$ sudo systemctl restart tomcat

Acesso gerenciador Tomcat pela interface web

http://IP:8080/manager

Feito!