Nel mio nuovo Mac OSX 10.8.3, installo Scala 2.10.0, gioca 2.1.0 e IntelliJ12, e creare un progetto di gioco come segue:in esecuzione il primo esempio di play framework in IntelliJ su un Mac OSX
#install brew
> ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
> brew --version
0.9.4
# update brew database
> cd $(brew --prefix)
> brew update
> cd $(brew --prefix) && git pull --rebase
# get scala 2.10.0
> brew versions scala
2.10.1 git checkout 79dc6f1 Library/Formula/scala.rb
2.10.0 git checkout 8ca07aa Library/Formula/scala.rb
2.9.2 git checkout 8896425 Library/Formula/scala.rb
...
> git checkout 8ca07aa Library/Formula/scala.rb # 2.10.0
> brew install scala
> scala -version
Scala code runner version 2.10.0 -- Copyright 2002-2012, LAMP/EPFL
# install play 2.1.0
> brew versions play
2.1.0 git checkout 6a70797 Library/Formula/play.rb
...
> brew install play
> play -version
play! 2.1.0 (using Java 1.6.0_43 and Scala 2.10.0), http://www.playframework.org
e creo una domanda di gioco:
> cd ~/
> play new myapp
name: myapp
Create a simple Scala application
# generate IntelliJ project:
> cd myapp
> play
> idea
[info] Created /Users/david/myapp/.idea_modules/myapp.iml
[info] Created /Users/david/myapp/.idea_modules/myapp-build.iml
e aprire il progetto in IntelliJ:
# Install IntelliJ 12 Ultimate Edition
Download it from http://www.jetbrains.com/idea/
12.0.4, Build #IU-123.169
Build on February 13, 2013
# install scala plugin in IntelliJ
run IntelliJ,
Preferences -> plugins -> Browse from repositories -> add scala.
current version: 0.7.134
# open myapp project in IntelliJ
File -> Open Project, chose the directory /Users/david/myapp
Poi, quando si tenta di eseguire il test di unità:
Project -> myapp -> test -> ApplicationSpec -> (right click) -> Run
ottengo questo errore:
scala: Сompiler library for module bigbrother not found: Right(Project)/Right(scala-2.10.0)
In realtà, ci sono diversi errori:
in File -> Project Structure -> Modules, there are two modules:
-myapp
-mypp-build
File -> Project Structure -> Modules -> myapp -> Scala
Compiler library: scala-2.10.0 [not found]
<<< ERROR
File -> Project Structure -> Modules -> myapp-build -> Dependencies:
scala-2.9.2
<<< ERROR
Se ho corretto la prima errore come segue,
File -> Project Structure -> Modules -> myapp -> Scala -> Compiler library
and from the dropdown list I select the second valid option “scala-2.10.0 (version 2.10.0)”.
Quindi, rieseguire il test, produce l'errore:
scala: Output path /Users/david/bigbrother/project/target/scala_2.9.2 is shared between: Module 'bigbrother-build' production, Module 'bigbrother-build' tests
Currently external Scala compiler prohibits output path sharing.
Either disable the external build mode or configure separate output paths.
TIP: you can use Project Artifacts to combine compiled classes.
Che cosa devo fare per farlo funzionare?
Update: soluzione basata sulle risposte da Marius e alexwriteshere
generare progetto IntelliJ con
> cd myapp
> play
> idea no-sbt-build-module
(invece di 'idea')
poi, Impostazioni progetto -> Librerie Seleziona "Scala 2.9.2" e fai clic su "-" per visualizzare spostalo.
quindi, Impostazioni progetto -> Modulo -> my_app -> Scala -> Scala-compiler in questo elenco a discesa, è selezionato "Scala 2.10.0" scritto in rosso. sposta in cima all'elenco e seleziona "Scala 2.10.0 (versione 2.10.0)" scritto in nero/grigio.
Nota
a volte (non so perché) la scelta "Scala 2.10.0 (versione 2.10.0)" scritto in nero/grigio non è disponibile nell'elenco a discesa. una soluzione che funziona per renderla disponibile è la seguente: Impostazioni progetto -> Librerie globali -> + -> Java selezionare questi file scala-compiler.jar, scala-library.jar e scala-reflect.jar da questa directory: /usr/local/Cellar/scala/2.10.0/libexec/lib/ selezionare Ok. Assegnare il nome "my scala 2.10.0 bundle".
quindi, vai di nuovo su Impostazioni progetto -> Modulo -> my_app -> Scala -> Scala-compiler ora hai entrambi, quello che hai appena creato "my scala 2.10.0 bundle", e quello standard: "Scala 2.10.0 (versione 2.10.0)" scritto in nero/grigio. seleziona quello standard ed elimina la biblioteca globale che hai creato.
Non so perché questo accade, e davvero non voglio passare più tempo a scoprirlo. per il momento, questa soluzione funziona per me. ma sentiti libero di aggiungere un commento se lo scopri.
Fantastico! IDEA segna ancora alcune affermazioni come sbagliate per me, anche se tutto si compila. Ma almeno non tutto è rosso. – Mortimer
Ho reimportato il progetto da Maven (cosa ha funzionato per me) – Jas