2013-03-25 145 views
2

我試圖建立與specs2用的IntelliJ(12.1)支持空SBT項目斯卡拉(2.10),當我在空項目目錄做sbt compile我收到此錯誤:如何設置IntelliJ + Scala + specs + sbt項目?

% 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 

build.sbt文件看起來像這樣:

name := "scalgos" 

version := "0.0.1" 

scalaVersion := "2.10.1" 

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

我裝做brew install sbt 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" 

釀造說,我已經SBT 0.12,但是當我sbt --version我得到:

% sbt --version                                              
sbt launcher version 0.11.3-2 

我試圖ATLEAST通過把這個在我的$ PROJECT_DIR /項目產生的IntelliJ文件/ plugins.sbt:

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

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

但是,當我做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. 

有人可以張貼樣本build.sbt,將產生的IntelliJ 12.1文件SCAL一個2.10.1和SBT?

我在這裏的項目檢查:https://github.com/pathikrit/scalgos

請指教一下我做錯了什麼???

+0

我認爲brew同意你的sbt版本:它說它在/usr/local/Cellar/sbt/**0.11.3-2**。我會更新到0.12,然後重試。你的項目對我來說工作正常0.12 – rjsvaljean 2013-03-25 21:56:41

回答

6

你可以使用這個項目我建,提供你正在尋找的開箱

Skeleton

我打算今晚升級sbt config和最新最棒的庫(sbt-idea 1.3.0和scala 2.10.1)。

享受!

+0

真棒,現在我將每次fork你的repo我對Scala項目進行攻擊 - 用默認的main/src/scala/package/Hello.scala和test/src/scala/package/HelloSpec.scala填充可能是個好主意?說實話,我不是這個深入的maven風格項目結構的粉絲...... – pathikrit 2013-03-26 17:51:46

+0

我曾經有過測試,但實際上你不得不刪除它們。查看更新後的build.sbt,它現在會提取所有最新的庫。乾杯。 – fracca 2013-03-26 23:56:20

2

您應該更新SBT版本0.12.X,創建文件「項目/ build.properties」,並把「sbt.version = 0.12.1」

我分叉您的回購和編輯SBT版本,它似乎我的機器做工精細

https://github.com/yuanw/scalgos

+0

謝謝,這是brew的一些問題,沒有正確地將sbt更新到0.12。 – pathikrit 2013-03-26 06:49:06