首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改Scalatra的码头端口

如何更改Scalatra的码头端口
EN

Stack Overflow用户
提问于 2015-10-06 15:27:21
回答 2查看 837关注 0票数 2

我在许多地方看到了这样的短语:

更改开发中的端口

代码语言:javascript
复制
port in container.Configuration := 8081 

到项目/构建。

但是在build.scala哪里?这是香草build.scala。目前尚不清楚这一增加应在何处进行:

代码语言:javascript
复制
object KeywordsBuild extends Build {
  val Organization = "com.blazedb"
  ..    
  lazy val project = Project (
    "keywords",
    file("."),
    settings = ScalatraPlugin.scalatraSettings ++ scalateSettings ++ Seq(
      organization := Organization,
      name := Name,
      version := Version,
      ..
      libraryDependencies ++= Seq(
        "org.scalatra" %% "scalatra" % ScalatraVersion,
         ..
        "javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided"
      ),
      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")
          )

无论我试图将其放在哪里,都会发生以下错误消息:

代码语言:javascript
复制
[info] Compiling 1 Scala source to /shared/wfdemo/project/target/scala-2.10/sbt-0.13/classes...
/shared/wfdemo/build.sbt:1: error: not found: value port
port in container.Configuration := 8081
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-08 17:26:31

正确的方法是添加到

build.sbt

因此,这些文件似乎是不正确的--或者至少是误导性的。

代码语言:javascript
复制
$cat build.sbt
val myPort = 9090

jetty(port = myPort)
票数 1
EN

Stack Overflow用户

发布于 2019-05-07 07:59:37

在/src/main/scala下面创建一个文件JettyLauncher.scala:

代码语言:javascript
复制
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.servlet.{DefaultServlet, ServletContextHandler}
import org.eclipse.jetty.webapp.WebAppContext
import org.scalatra.servlet.ScalatraListener

object JettyLauncher {
def main(args: Array[String]) {
  val port = System.getProperty("port","8090").toInt

  val server = new Server(port)
  val context = new WebAppContext()
  context setContextPath "/"
  context.setResourceBase("src/main/webapp")
  context.addEventListener(new ScalatraListener)
  context.addServlet(classOf[DefaultServlet], "/")

  server.setHandler(context)

  server.start
  server.join
}
}

确保项目下的plugins.sbt /有:

代码语言:javascript
复制
addSbtPlugin("com.typesafe.sbt" % "sbt-twirl" % "1.3.13")
addSbtPlugin("org.scalatra.sbt" % "sbt-scalatra" % "1.0.2")
addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "4.0.0")

sbt = 0.13.16

执行sbt干净的编译程序包(既然有了sbt-程序集插件)

按以下方式运行您的jar:

代码语言:javascript
复制
java -Dport=8081 -Dname=sameer -jar /Users/sumit/Documents/repos/inner/paytm-insurance-ml-api/serving-layers/model-serving-movies-cp/target/scala-2.11/model-serving-movies-cp-assembly-0.1.jar

这对我起了作用:

代码语言:javascript
复制
13:11:18.326 [main] INFO  o.e.jetty.server.AbstractConnector - Started ServerConnector@509dbdcf{HTTP/1.1,[http/1.1]}{0.0.0.0:8081}
13:11:18.327 [main] INFO  org.eclipse.jetty.server.Server - Started @1312ms
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32973834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档