Điều này nghe có vẻ cơ bản, nhưng thực sự khiến tôi mất cả ngày: Tôi muốn thay đổi để thay đổi cổng mà scalatra chạy, trong quá trình phát triển. Tôi bắt đầu với mẫu hello world g8 và đã xây dựng từ đó.Thay đổi cổng Scalatra
Đây là những gì tôi đã cố gắng cho đến nay:
Thay đổi cổng trong build.scala, ala tài liệu: http://www.scalatra.org/guides/deployment/configuration.html này không biên dịch, vì cổng là không xác định.
Thay đổi cổng trong build.scala, ala hai ví dụ này: https: gist.github.com ngủ gật 58af6cfbfe721a562a48 https://github.com/JamesEarlDouglas/xsbt-web-plugin/blob/master/src/sbt-test/web/servlet/project/Build.scala Cùng một vấn đề: cổng là undefined
Xác định lại điểm mấu chốt, ala http: www .scalatra.org hướng dẫn triển khai standalone.html Tuy chạy trên cổng 8080
Thay đổi params init trong bootstrap, ala http: www.scalatra.org hướng dẫn triển khai configuration.html Tuy chạy trên cổng 8080
Bất kỳ trợ giúp nào được đánh giá cao. Tôi không thể đăng hơn 2 liên kết vì một số lý do, vì vậy hãy thay thế khoảng trắng bằng dấu gạch chéo để theo dõi các url.
Đây là build.scala của tôi trong trường hợp nó trợ giúp.
import sbt._
import Keys._
import org.scalatra.sbt._
import org.scalatra.sbt.PluginKeys._
import com.mojolly.scalate.ScalatePlugin._
import ScalateKeys._
import com.earldouglas.xsbtwebplugin._
import WebPlugin._
object YesManBuild extends Build {
val Organization = "com.prezi"
val Name = "Yes Man"
val Version = "0.1.0-SNAPSHOT"
val ScalaVersion = "2.10.2"
val ScalatraVersion = "2.2.1"
//def Conf = config("container")
lazy val project = Project (
"yes-man",
file("."),
settings = Defaults.defaultSettings ++ ScalatraPlugin.scalatraWithJRebel ++ scalateSettings ++ Seq(
//port in Conf := 8081,
mainClass := Some("com.prezi.eureka.JettyLauncher.main"),
organization := Organization,
name := Name,
version := Version,
scalaVersion := ScalaVersion,
resolvers += Classpaths.typesafeReleases,
libraryDependencies ++= Seq(
"org.slf4j" % "slf4j-log4j12" % "1.7.5",
"com.netflix.eureka" % "eureka-client" % "1.1.97",
"com.netflix.ribbon" % "ribbon-httpclient" % "0.1.10",
"com.netflix.ribbon" % "ribbon-eureka" % "0.1.11",
"org.scalatra" %% "scalatra" % ScalatraVersion,
"org.scalatra" %% "scalatra-scalate" % ScalatraVersion,
"org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test",
"ch.qos.logback" % "logback-classic" % "1.0.6" % "runtime",
"org.eclipse.jetty" % "jetty-webapp" % "8.1.8.v20121106" % "container",
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container;provided;test" artifacts (Artifact("javax.servlet", "jar", "jar")),
"org.eclipse.jetty.aggregate" % "jetty-all" % "9.0.4.v20130625"
),
scalateTemplateConfig in Compile <<= (sourceDirectory in Compile){ base =>
Seq(
TemplateConfig(
base/"webapp"/"WEB-INF"/"templates",
Seq.empty, /* default imports should be added here */
Seq(
Binding("context", "_root_.org.scalatra.scalate.ScalatraRenderContext", importMembers = true, isImplicit = true)
), /* add extra bindings here */
Some("templates")
)
)
}
)
)
}
Thanks guys,
~ Erik
Theo tài liệu, cài đặt build.scala là: 'port in container.Configuration: = 8081' nhưng bạn có nó là' port in Conf: = 8081'. Bạn đã thử nó chính xác như họ chỉ định nó trong các tài liệu? – cmbaxter
có, tôi đã thử rằng cũng – Kire321