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.

Tags: , , , ,