简体   繁体   English

如何设置IntelliJ + Scala +规范+ sbt项目?

[英]How to setup IntelliJ + Scala + specs + sbt project?

I am trying to setup an empty sbt project with specs2 for Scala (2.10) with IntelliJ (12.1) support and I am getting this error when I do sbt compile on empty project directory: 我正在尝试使用specs2为Scala(2.10)设置一个空的sbt项目,支持IntelliJ(12.1),当我在空项目目录上进行sbt compile时,我收到此错误:

% sbt compile                                                                                                                                                                                                 
Getting net.java.dev.jna jna 3.2.3 ...
:: retrieving :: org.scala-sbt#boot-jna
    confs: [default]
    1 artifacts copied, 0 already retrieved (838kB/32ms)
Getting org.scala-sbt sbt_2.9.1 0.11.3 ...
:: retrieving :: org.scala-sbt#boot-app
    confs: [default]
    37 artifacts copied, 0 already retrieved (7245kB/734ms)
Getting Scala 2.9.1 (for sbt)...
:: retrieving :: org.scala-sbt#boot-scala
    confs: [default]
    4 artifacts copied, 0 already retrieved (19939kB/402ms)
[info] Loading project definition from /Users/pathikrit/Projects/scalgos/project
[info] Set current project to scalgos (in build file:/Users/pathikrit/Projects/scalgos/)
Getting Scala 2.10.1 ...
:: retrieving :: org.scala-sbt#boot-scala
    confs: [default]
    5 artifacts copied, 0 already retrieved (24386kB/107ms)
[info] Updating {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1...
[info] Resolving org.scala-lang#scala-library;2.10.1 ...
[info] Resolving org.specs2#specs2_2.10.1;1.14 ...
[warn]  module not found: org.specs2#specs2_2.10.1;1.14
[warn] ==== local: tried
[warn]   /Users/pathikrit/.ivy2/local/org.specs2/specs2_2.10.1/1.14/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/specs2/specs2_2.10.1/1.14/specs2_2.10.1-1.14.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.specs2#specs2_2.10.1;1.14: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1/*:update: sbt.ResolveException: unresolved dependency: org.specs2#specs2_2.10.1;1.14: not found
[error] Total time: 4 s, completed Mar 25, 2013 5:11:17 PM

My build.sbt file looks like this: 我的build.sbt文件如下所示:

name := "scalgos"

version := "0.0.1"

scalaVersion := "2.10.1"

libraryDependencies += "org.specs2" %% "specs2" % "1.14" % "test"

I installed sbt by doing brew install sbt : 我通过brew install sbt

% brew info sbt                                                                                                                                                                                   
sbt: stable 0.12.2, devel 0.13.0-M1
http://www.scala-sbt.org
/usr/local/Cellar/sbt/0.11.3-2 (3 files, 1.1M) *
https://github.com/mxcl/homebrew/commits/master/Library/Formula/sbt.rb
==> Caveats
You can use $SBT_OPTS to pass additional JVM options to SBT.
For convenience, this can specified in `~/.sbtconfig`.

For example:
    SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"

Brew says I have sbt 0.12 but when I sbt --version I get: Brew说我有0.12但是当我sbt --version我得到:

% sbt --version                                                                                                                                                                                    
sbt launcher version 0.11.3-2

I tried to atleast generate the IntelliJ files by putting this in my $PROJECT_DIR/projects/plugins.sbt: 我尝试通过将它放在我的$ PROJECT_DIR / projects / plugins.sbt中来生成IntelliJ文件:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")

But when I did sbt gen-idea , I got this error: 但是当我做sbt gen-idea ,我得到了这个错误:

% sbt gen-idea                                                                                                                                                                                               
[info] Loading project definition from /Users/pathikrit/Projects/scalgos/project
[info] Set current project to scalgos (in build file:/Users/pathikrit/Projects/scalgos/)
[info] Trying to create an Idea module scalgos
[info] Updating {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1...
[info] Resolving org.scala-lang#scala-library;2.10.1 ...
[info] Resolving org.specs2#specs2_2.10.1;1.14 ...
[warn]  module not found: org.specs2#specs2_2.10.1;1.14
[warn] ==== local: tried
[warn]   /Users/pathikrit/.ivy2/local/org.specs2/specs2_2.10.1/1.14/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/specs2/specs2_2.10.1/1.14/specs2_2.10.1-1.14.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.specs2#specs2_2.10.1;1.14: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1/*:update: sbt.ResolveException: unresolved dependency: org.specs2#specs2_2.10.1;1.14: not found
[info] Updating {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1...
[info] Resolving org.scala-lang#scala-library;2.10.1 ...
[info] Resolving org.specs2#specs2_2.10.1;1.14 ...
[warn]  module not found: org.specs2#specs2_2.10.1;1.14
[warn] ==== local: tried
[warn]   /Users/pathikrit/.ivy2/local/org.specs2/specs2_2.10.1/1.14/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/specs2/specs2_2.10.1/1.14/specs2_2.10.1-1.14.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.specs2#specs2_2.10.1;1.14: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/Users/pathikrit/Projects/scalgos/}default-7d65e1/*:update: sbt.ResolveException: unresolved dependency: org.specs2#specs2_2.10.1;1.14: not found
[error] Failed to obtain dependency classpath
[error] java.lang.IllegalArgumentException
[error] Use 'last' for the full log.

Can someone post a sample build.sbt that would generate IntelliJ 12.1 files for Scala 2.10.1 and sbt? 有人可以发布一个示例build.sbt ,它将为Scala 2.10.1和sbt生成IntelliJ 12.1文件吗?

I checked in my project here: https://github.com/pathikrit/scalgos 我在这里检查了我的项目: https//github.com/pathikrit/scalgos

Please advise what am I doing wrong??? 请告知我做错了什么???

you can use this project i built that provides what you are looking for out of the box 你可以使用我构建的这个项目,提供您想要的开箱即用的东西

Skeleton 骨架

I'm planning to upgrade the sbt config and latest and greatest libs (sbt-idea 1.3.0 and scala 2.10.1) tonight. 我打算今晚升级sbt配置和最新最好的库(sbt-idea 1.3.0和scala 2.10.1)。

enjoy! 请享用!

you should update sbt version to 0.12.X, create file "project/build.properties", and put "sbt.version=0.12.1" 你应该将sbt版本更新为0.12.X,创建文件“project / build.properties”,然后输入“sbt.version = 0.12.1”

i forked your repo and edited the sbt version, it seems work fine on my machine 我分叉你的回购并编辑了sbt版本,它似乎在我的机器上工作正常

https://github.com/yuanw/scalgos https://github.com/yuanw/scalgos

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM