运行playframework的第一个例子中的IntelliJ在Mac OSX(running th

2019-08-18 18:46发布

在我的新的Mac OSX 10.8.3,我安装斯卡拉2.10.0,玩2.1.0和IntelliJ12,并创建一个游戏项目如下:

#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

我创建一个播放应用:

> 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

然后打开的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

然后,当我尝试运行单元测试:

Project -> myapp -> test -> ApplicationSpec -> (right click) -> Run

我得到这个错误:

scala: Сompiler library for module bigbrother not found: Right(Project) / Right(scala-2.10.0) 

其实,有几个误区:

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

如果我纠正了第一个错误如下,

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)”.

然后,重新运行测试,产生错误:

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.

我需要做什么做的,使工作?


更新:基于从马吕斯和alexwriteshere答案的解决方案

生成的IntelliJ项目

> cd myapp
> play
> idea no-sbt-build-module

(而不只是“观念”)

然后,项目设置 - >库中选择“斯卡拉2.9.2”,然后点击“ - ”将其删除。

然后,项目设置 - >模块 - >程序my_app - >的Scala - >在该下拉列表中的Scala编译器,有选择了“Scala的2.10.0”写在红色。 移动到列表的顶部,并选择“斯卡拉2.10.0(2.10.0版)”用黑色/灰色。


注意

有时(我不知道为什么),选择“斯卡拉2.10.0(2.10.0版)”用黑色/灰色是不是在下拉列表中。 这对我的作品,使其可以解决方法如下:项目设置 - >全局库 - > + - >资源下载选择这些文件斯卡拉-compiler.jar,斯卡拉-library.jar和Scala-reflect.jar从这个目录: /usr/local/Cellar/scala/2.10.0/libexec/lib/选择确定。 给它取名为“我的斯卡拉2.10.0捆绑”。

然后,再去项目设置 - >模块 - >程序my_app - >斯卡拉 - >斯卡拉编译器现在你已经两个,一个刚刚创建“我的斯卡拉2.10.0捆绑”,以及标准之一:“斯卡拉2.10.0 (2.10.0版)”写在黑/灰。 选择标准之一,并删除您创建的全局库。

我不知道为什么会这样,我真的不想花更多的时间发现了这一点。 就目前而言,这种解决办法对我的作品。 但随时如果你发现添加评论。

Answer 1:

这个问题可以通过与产生想法项目来解决:

$ play  # start play from command line
[your-play-project] $ idea no-sbt-build-module

这将使的IntelliJ的默认建设机制斯卡拉,不会引起这些问题。



Answer 2:

下面是在同样的错误在过去帮助过我:

  1. 删除所有斯卡拉2.9.2依赖
  2. 转到Project Structure -> Global libraries 。 创建一个新的,叫,说, scala-bundle 。 添加斯卡拉-compiler.jar,斯卡拉-library.jar,斯卡拉-reflect.jar为2.10。
  3. 最后,进入Project Structure -> Modules -> myapp -> Scala和选择scala-bundle

对于模块共享错误,请转到Project Structure -> Modules -> <each module> -> Paths ,改变路径,所以他们不一样的。



文章来源: running the first example of playframework in IntelliJ on a Mac OSX