I spent some time to figure this out ... not sold on sbt yet, and I am used to Eclipse 3.7.
So here is the simple procedure :
- Install the Scala plugin for Eclipse from scala-ide.org. I use this update-site for scala 2.10
- Install this eclipse plugin for maven / m2e : http://alchim31.free.fr/m2e-scala/update-site
- You can then import easily a Maven project.
- Right-click on the project, Configure > Add Scala Nature
Sample maven file :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
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>info.daviot</groupId> | |
<version>0.1-SNAPSHOT</version> | |
<artifactId>template</artifactId> | |
<packaging>jar</packaging> | |
<properties> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
<scala.version>2.11.5</scala.version> | |
<java.version>1.7</java.version> | |
</properties> | |
<dependencies> | |
<dependency> | |
<artifactId>scala-library</artifactId> | |
<groupId>org.scala-lang</groupId> | |
<version>${scala.version}</version> | |
</dependency> | |
<!-- optional dependencies --> | |
<dependency> | |
<groupId>com.softwaremill.macwire</groupId> | |
<artifactId>macros_2.11</artifactId> | |
<version>0.8.0</version> | |
</dependency> | |
<dependency> | |
<groupId>com.typesafe.akka</groupId> | |
<artifactId>akka-actor_2.11</artifactId> | |
<version>2.3.8</version> | |
</dependency> | |
<dependency> | |
<groupId>com.github.nscala-time</groupId> | |
<artifactId>nscala-time_2.11</artifactId> | |
<version>1.4.0</version> | |
</dependency> | |
<dependency> | |
<groupId>com.propensive</groupId> | |
<artifactId>rapture-json-jawn_2.11</artifactId> | |
<version>1.1.0</version> | |
</dependency> | |
<!-- logs --> | |
<dependency> | |
<groupId>org.clapper</groupId> | |
<artifactId>grizzled-slf4j_2.11</artifactId> | |
<version>1.0.2</version> | |
</dependency> | |
<dependency> | |
<groupId>ch.qos.logback</groupId> | |
<artifactId>logback-classic</artifactId> | |
<version>1.1.2</version> | |
</dependency> | |
<dependency> | |
<groupId>org.slf4j</groupId> | |
<artifactId>slf4j-api</artifactId> | |
<version>1.7.6</version> | |
</dependency> | |
<!-- tests --> | |
<dependency> | |
<groupId>org.scalatest</groupId> | |
<artifactId>scalatest_2.11</artifactId> | |
<version>2.2.2</version> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<artifactId>junit</artifactId> | |
<groupId>junit</groupId> | |
<version>4.10</version> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.powermock</groupId> | |
<artifactId>powermock-api-mockito</artifactId> | |
<version>1.5.5</version> | |
<scope>test</scope> | |
</dependency> | |
</dependencies> | |
<build> | |
<sourceDirectory>src/main/scala</sourceDirectory> | |
<testSourceDirectory>src/test/scala</testSourceDirectory> | |
<plugins> | |
<plugin> | |
<groupId>net.alchim31.maven</groupId> | |
<artifactId>scala-maven-plugin</artifactId> | |
<version>3.1.6</version> | |
</plugin> | |
<plugin> | |
<groupId>org.scalariform</groupId> | |
<artifactId>scalariform-maven-plugin</artifactId> | |
<version>0.1.4</version> | |
<executions> | |
<execution> | |
<phase>process-sources</phase> | |
<goals> | |
<goal>format</goal> | |
</goals> | |
<configuration> | |
<rewriteArrowSymbols>true</rewriteArrowSymbols> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-compiler-plugin</artifactId> | |
<version>3.5</version> | |
<configuration> | |
<source>${java.version}</source> | |
<target>${java.version}</target> | |
</configuration> | |
<executions> | |
<execution> | |
<phase>compile</phase> | |
<goals> | |
<goal>compile</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</project> |
For sbt equivalent : http://grosdim.blogspot.fr/2013/01/quick-sbt-tutorial.html
RépondreSupprimer