Tôi muốn xem mã nguồn của akka và có vẻ như sử dụng phiên bản sbt 0.7.x.
Tôi chuyển đổi cấu hình dự án sang phiên bản 0.10.x. Khi tôi thêm sbteclipse vào libraray-dependencies và chạy eclipse create-src để tạo project eclipse, nó nói rằng nhật thực không phải là một lệnh. Đây là Build.scala của tôi. Sbteclipse_2.8.1.jar thực sự tồn tại khi tôi sử dụng thư viện-phụ thuộc để liệt kê thư việnCách thêm plugin sbteclipse vào SBT 0.10.x
Tôi đã mắc sai lầm ngớ ngẩn trước đây. Định nghĩa Plugin sẽ được công bố trong dự án/plugins/build.sbt tập tin, không phải là thư viện phụ thuộc vào yourproject/build.sbt
import sbt._
import Keys._
object Settings {
import Dependencies._
import Resolvers._
val buildScalaVersion = "2.9.0-1"
val buildSettings = Defaults.defaultSettings ++ Seq(
scalaVersion := buildScalaVersion,
libraryDependencies := Depns,
resolvers := Repos)
}
object Resolvers {
/**
* repos definition
*/
lazy val Repos = Seq(
AkkaRepo,
CodehausRepo,
GuiceyFruitRepo,
JBossRepo,
JavaNetRepo,
SonatypeSnapshotRepo,
GlassfishRepo,
ScalaToolsRelRepo,
ScalaToolsSnapshotRepo,
TypeSafeRepo)
lazy val AkkaRepo = "Akka Repository" at "http://akka.io/repository"
lazy val CodehausRepo = "Codehaus Repo" at "http://repository.codehaus.org"
lazy val GuiceyFruitRepo = "GuiceyFruit Repo" at "http://guiceyfruit.googlecode.com/svn/repo/releases/"
lazy val JBossRepo = "JBoss Repo" at "http://repository.jboss.org/nexus/content/groups/public/"
lazy val JavaNetRepo = "java.net Repo" at "http://download.java.net/maven/2"
lazy val SonatypeSnapshotRepo = "Sonatype OSS Repo" at "http://oss.sonatype.org/content/repositories/releases"
lazy val GlassfishRepo = "Glassfish Repo" at "http://download.java.net/maven/glassfish"
lazy val ScalaToolsRelRepo = "Scala Tools Releases Repo" at "http://scala-tools.org/repo-releases"
lazy val DatabinderRepo = "Databinder Repo" at "http://databinder.net/repo"
lazy val ScalaToolsSnapshotRepo = "Scala-Tools Snapshot Repo" at "http://scala-tools.org/repo-snapshots"
//type safe sbteclipse plugin repo
lazy val typesafeRepoUrl = new java.net.URL("http://repo.typesafe.com/typesafe/releases")
lazy val pattern = Patterns(false, "[organisation]/[module]/[sbtversion]/[revision]/[type]s/[module](-[classifier])-[revision].[ext]")
lazy val TypeSafeRepo = Resolver.url("Typesafe Repository", typesafeRepoUrl)(pattern)
}
object Dependencies {
// -------------------------------------------------------------------------------------------------------------------
// Versions
// -------------------------------------------------------------------------------------------------------------------
lazy val JACKSON_VERSION = "1.7.1"
lazy val JERSEY_VERSION = "1.3"
lazy val MULTIVERSE_VERSION = "0.6.2"
lazy val SCALATEST_VERSION = "1.4.1"
lazy val JETTY_VERSION = "7.4.0.v20110414"
lazy val JAVAX_SERVLET_VERSION = "3.0"
lazy val SLF4J_VERSION = "1.6.0"
// Compile
lazy val aopalliance = "aopalliance" % "aopalliance" % "1.0" % "compile" //Public domain
lazy val aspectwerkz = "org.codehaus.aspectwerkz" % "aspectwerkz" % "2.2.3" % "compile" //ApacheV2
lazy val commons_codec = "commons-codec" % "commons-codec" % "1.4" % "compile" //ApacheV2
lazy val commons_io = "commons-io" % "commons-io" % "2.0.1" % "compile" //ApacheV2
lazy val javax_servlet_30 = "org.glassfish" % "javax.servlet" % JAVAX_SERVLET_VERSION % "provided" //CDDL v1
lazy val jetty = "org.eclipse.jetty" % "jetty-server" % JETTY_VERSION % "provided" //Eclipse license
lazy val guicey = "org.guiceyfruit" % "guice-all" % "2.0" % "compile" //ApacheV2
lazy val h2_lzf = "voldemort.store.compress" % "h2-lzf" % "1.0" % "compile" //ApacheV2
lazy val jackson = "org.codehaus.jackson" % "jackson-mapper-asl" % JACKSON_VERSION % "compile" //ApacheV2
lazy val jackson_core = "org.codehaus.jackson" % "jackson-core-asl" % JACKSON_VERSION % "compile" //ApacheV2
lazy val jersey_server = "com.sun.jersey" % "jersey-server" % JERSEY_VERSION % "provided" //CDDL v1
lazy val jsr250 = "javax.annotation" % "jsr250-api" % "1.0" % "compile" //CDDL v1
lazy val jsr311 = "javax.ws.rs" % "jsr311-api" % "1.1" % "compile" //CDDL v1
lazy val multiverse = "org.multiverse" % "multiverse-alpha" % MULTIVERSE_VERSION % "compile" //ApacheV2
lazy val multiverse_test = "org.multiverse" % "multiverse-alpha" % MULTIVERSE_VERSION % "test" //ApacheV2
lazy val netty = "org.jboss.netty" % "netty" % "3.2.4.Final" % "compile" //ApacheV2
lazy val osgi_core = "org.osgi" % "org.osgi.core" % "4.2.0" //ApacheV2
lazy val protobuf = "com.google.protobuf" % "protobuf-java" % "2.3.0" % "compile" //New BSD
lazy val sjson = "net.debasishg" % "sjson_2.9.0" % "0.11" % "compile" //ApacheV2
lazy val sjson_test = "net.debasishg" % "sjson_2.9.0" % "0.11" % "test" //ApacheV2
lazy val slf4j = "org.slf4j" % "slf4j-api" % SLF4J_VERSION
lazy val logback = "ch.qos.logback" % "logback-classic" % "0.9.28" % "runtime"
// Test
lazy val commons_coll = "commons-collections" % "commons-collections" % "3.2.1" % "test" //ApacheV2
lazy val testJetty = "org.eclipse.jetty" % "jetty-server" % JETTY_VERSION % "test" //Eclipse license
lazy val testJettyWebApp = "org.eclipse.jetty" % "jetty-webapp" % JETTY_VERSION % "test" //Eclipse license
lazy val junit = "junit" % "junit" % "4.5" % "test" //Common Public License 1.0
lazy val mockito = "org.mockito" % "mockito-all" % "1.8.1" % "test" //MIT
lazy val scalatest = "org.scalatest" % "scalatest_2.9.0" % SCALATEST_VERSION % "test" //ApacheV2
lazy val sbteclipse = "com.typesafe.sbteclipse" % "sbteclipse_2.8.1" % "1.1" extra ("sbtversion" -> "0.10.0")
val Depns = Seq(
aopalliance,
aspectwerkz,
commons_codec,
commons_io,
javax_servlet_30,
jetty,
guicey,
h2_lzf,
jackson,
jackson_core,
jersey_server,
jsr250,
jsr311,
multiverse,
multiverse_test,
netty,
osgi_core,
protobuf,
sjson,
sjson_test,
slf4j,
logback,
commons_coll,
testJetty,
testJettyWebApp,
junit,
mockito,
scalatest,
sbteclipse)
}
object AkkaBuild extends Build {
import Settings._
import Resolvers._
lazy val akka = Project("akka", file("."), settings = buildSettings)
.aggregate(
akka_actor,
akka_testkit,
akka_actor_tests,
akka_stm, akka_typed_actor,
akka_remote, akka_http,
akka_samples, akka_slf4j,
akka_tutorials)
lazy val akka_actor = Project("akka-actor", file("akka-actor"), settings = buildSettings)
lazy val akka_testkit = Project("akka-testkit", file("akka-testkit"), settings = buildSettings) dependsOn (akka_actor)
lazy val akka_actor_tests = Project("akka-actor-tests", file("akka-actor-tests"), settings = buildSettings) dependsOn (akka_testkit)
lazy val akka_stm = Project("akka-stm", file("akka-stm"), settings = buildSettings) dependsOn (akka_actor)
lazy val akka_typed_actor = Project("akka-typed-actor", file("akka-typed-actor"), settings = buildSettings) dependsOn (akka_stm, akka_actor_tests)
lazy val akka_remote = Project("akka-remote", file("akka-remote"), settings = buildSettings) dependsOn (akka_typed_actor)
lazy val akka_http = Project("akka-http", file("akka-http"), settings = buildSettings) dependsOn (akka_actor)
lazy val akka_samples = Project("akka-samples", file("akka-samples"), settings = buildSettings)
lazy val akka_slf4j = Project("akka-slf4j", file("akka-slf4j"), settings = buildSettings) dependsOn (akka_actor)
lazy val akka_tutorials = Project("akka-tutorials", file("akka-tutorials"), settings = buildSettings) dependsOn (akka_actor)
}
tôi đang sử dụng 0.10.x trên thực tế, trong README git kho của sbteclipse, tôi thấy điều này: Trước tiên, bạn phải "cài đặt" plugin. Vì SBT 0.10 (0.9) điều này dễ dàng như việc thêm một phụ thuộc thư viện vào sbteclipse cho dự án của bạn. Hoặc thậm chí tốt hơn: Tạo một dự án plugin toàn cục (chỉ là tệp build.sbt) trong thư mục ~/.sbt/plugins – jilen
nó cho biết rằng cả trong Build.scala của dự án hoặc Build.scala chung là Ok! – jilen
Đúng. Đã làm ở trên không hoạt động? – andyczerwonka