Usando código Groovy (o Java com esteróides) juntamente com código Java em um projeto com Spring Boot

Spread the love

Mais um post em que explico como integrar código Groovy junto ao seu código Java em um projeto com Spring Boot usando o gerenciador de dependencias Maven. No outro post usamos o ‘Groovy Eclipse Compiler Plugin‘ mas nunca consegui fazer ele funcionar corretamente com o Spring Boot então o substituimos pelo ‘GMaven Plugin‘. Além disso o ‘Groovy Eclipse Compiler Plugin‘ tem problemas de backward compatibility com o Java 8 diferentemente do ‘GMaven Plugin‘.
Então mãos a obra, adicione as configurações abaixo ao seu pom.xml e tenha todo poder do Groovy junto ao seu código Java.

<!-- Adicione o Groovy às dependências do seu projeto -->
<dependencies>
    <dependency>
        <groupid>org.codehaus.groovy</groupid>
        <artifactid>groovy-all</artifactid>
        <scope>compile</scope>
    </dependency>
</dependencies>       

    .
    .
    .       

<!-- Será necessário fazer algumas mudanças no seu processo de build -->     
<build>
    <resources>
        <resource>
            <directory>${basedir}/src/main/resources</directory>
        </resource>
    </resources>

    <!-- Adicione o GMaven Plugin -->
    <plugins>
        <plugin>
            <groupid>org.codehaus.gmaven</groupid>
            <artifactid>gmaven-plugin</artifactid>
            <version>1.5</version>
            <configuration>
                <providerselection>2.0</providerselection>
            </configuration>

            <!-- Adicione as dependencias 'gmaven-runtime-2.0' e 'groovy-all' ao plugin -->
            <dependencies>
                <dependency>
                    <groupid>org.codehaus.gmaven.runtime</groupid>
                    <artifactid>gmaven-runtime-2.0</artifactid>
                    <version>1.5</version>
                </dependency>
                <dependency>
                    <groupid>org.codehaus.groovy</groupid>
                    <artifactid>groovy-all</artifactid>
                    <version>2.1.8</version>
                </dependency>
            </dependencies>

            <!-- Defina suas metas de execução -->
            <executions>
                <execution>
                    <goals>
                        <goal>generateStubs</goal>
                        <goal>compile</goal>
                        <goal>generateTestStubs</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <!-- Adicione o plugin do 'spring-boot-maven-plugin' -->         
        <plugin>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-maven-plugin</artifactid>
        </plugin>

    </plugins>
</build>

Caso você tenha dúvidas poderá se basear em um projeto completo no Github o Erudio API OAUTH2 utilizando essas tecnologias juntas. Lets Groovy guys, bons estudos.

Treinamentos relacionados com este post

















Leandro

Leandro da Costa é especialista em inteligência artificial on-premise e desenvolvedor de software desde 2010, com mais de 15 anos de experiência em projetos nacionais e internacionais para empresas como Thomson Reuters, Unilever, PagSeguro e Hub Fintech, além de órgãos como CNPq, Ministério da Saúde e Ministério da Justiça. Trabalho com Java, Python, Kotlin, JavaScript, microsserviços, cloud (AWS, Azure, GCP) e Docker/Kubernetes — sempre em times ágeis, muitas vezes distribuídos globalmente. Já enfrentei desafios reais de escalabilidade e performance, como a modernização do sistema de análise de crédito do PagSeguro, onde reduzi o tempo de resposta de mais de 1 minuto para menos de 15 segundos. Sou Instrutor Parceiro na Udemy desde 2021 — reconhecimento concedido aos 200 melhores instrutores do mundo — com mais de 65.000 alunos em 136 países. Minha missão é compartilhar conhecimento validado na prática, ajudando desenvolvedores a acelerar suas carreiras e conquistar melhores oportunidades. Fora do teclado, gosto bastante de viajar além de esportes de aventura: rapel, tirolesa e trilhas. Apreciador de cervejas, fã de Rock'n Roll, ficção científica e geopolítica. Atualmente atuo como consultor na Erudio Training.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *