En algunas ocasiones puede resultar interesante hacer proyectos mixtos Java\Scala.
Es algo sencillo de hacer y aunque la propia documentación de scala te lleva al scala-maven-plugin no es fácil de encontrar.
Para empezar tienes que saltar varios enlaces y luego te hace sospechar que no estas en el sitio correcto cuando ves que el plugin no es de org.scala-lang.
Para empezar tienes que saltar varios enlaces y luego te hace sospechar que no estas en el sitio correcto cuando ves que el plugin no es de org.scala-lang.
Al lío...
Para compilar en un mismo proyecto código java y scala, pondremos los fuentes de java bajo el path: src/main/java
y el código sacla bajo el path: src/main/scala
En el pom debemos de añadir la dependencia con scala y modificar el build para que use dos compiladores, el de por defecto de maven y el de scala, siguiendo la documentación acabaríamos con un pom como este:
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelversion>4.0.0</modelversion> <groupid>sandbox</groupid> <artifactid>testJavaAndScala</artifactid> <version>1.0-SNAPSHOT</version> <name>Test for Java + Scala compilation</name> <description>Test for Java + Scala compilation</description> <dependencies> <dependency> <groupid>org.scala-lang</groupid> <artifactid>scala-library</artifactid> <version>2.7.2</version> </dependency> </dependencies> <build> <pluginmanagement> <plugins> <plugin> <groupid>net.alchim31.maven</groupid> <artifactid>scala-maven-plugin</artifactid> <version>4.4.0</version> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <version>2.0.2</version> </plugin> </plugins> </pluginmanagement> <plugins> <plugin> <groupid>net.alchim31.maven</groupid> <artifactid>scala-maven-plugin</artifactid> <executions> <execution> <id>scala-compile-first</id> <phase>process-resources</phase> <goals> <goal>add-source</goal> <goal>compile</goal> </goals> </execution> <execution> <id>scala-test-compile</id> <phase>process-test-resources</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <executions> <execution> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
Con esto en vuestro proyecto compila java y scala a la vez.
Si lo que reis ver en acción, hemos hecho un video dónde usamos los dos lenguajes en una aplicación springboot.
No hay comentarios:
Publicar un comentario