1
resposta

Java Deploy de projeto angular em servidor Glassfish.

Pessoal, boa tarde. Tenho uma dúvida. Atualmente para publicar uma aplicação angular na heroku eu utilizo um server node com o código abaixo. Teria como fazer o equivalente com o java e publicar uma aplicação no java no glassfish para servir meus arquivos estáticos em angular?

CÓDIGO ATUAL ( USANDO NODE / EXPRESS ).

// importar express const express = require('express');

// iniciar express const app = express();

// nome da pasta no dist que sera feito o build const appName = 'senior-custom-app';

// local onde build ira gerar os arquivos const outputPath = ${__dirname}/dist/${appName};

//seta o diretorio de build para servir o conteúdo Angular app.use(express.static(outputPath));

//REDIRECIONAR QUALQUER REQUISIÇÃO PARA INDEX.HTML app.get('/*', (req, res) =>{ res.sendFile(${outputPath}/index.html); });

//ouvir a porta que o Heroku disponibilizar app.listen(process.env.PORT || 3000);

1 resposta

Olá Wanderson, tudo bem?

Sim, é possível fazer o deploy de uma aplicação Angular em um servidor Java como o Glassfish. Para isso, você pode utilizar o plugin maven-war-plugin para gerar um arquivo WAR que contém os arquivos estáticos da sua aplicação Angular.

Para começar, você precisa criar um projeto Maven e adicionar as dependências necessárias para o desenvolvimento da sua aplicação Angular. Em seguida, você deve criar um arquivo pom.xml e adicionar o plugin maven-war-plugin. Esse plugin irá gerar o arquivo WAR com a sua aplicação Angular.

Para configurar o plugin, você deve adicionar as seguintes linhas no arquivo pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.2.3</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
                <webResources>
                    <resource>
                        <directory>${project.basedir}/dist</directory>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>
</build>

Essa configuração irá gerar o arquivo WAR com os arquivos estáticos da sua aplicação Angular que estão na pasta "dist".

Depois de gerar o arquivo WAR, você pode fazer o deploy no servidor Glassfish. Para isso, basta copiar o arquivo WAR gerado para a pasta "autodeploy" do Glassfish.

Espero ter ajudado e bons estudos!