首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scalatra无法找到或加载主类

Scalatra无法找到或加载主类
EN

Stack Overflow用户
提问于 2014-04-18 18:00:41
回答 1查看 1.5K关注 0票数 2

我有hello world scalatra应用程序。我添加了scalatra-sbt插件和:

代码语言:javascript
复制
val myDistSettings = DistPlugin.distSettings ++ Seq(
    mainClass in Dist := Some("WebServerLauncher"),
    memSetting in Dist := "2g",
    permGenSetting in Dist := "256m",
    envExports in Dist := Seq("LC_CTYPE=en_US.UTF-8", "LC_ALL=en_US.utf-8"),
    javaOptions in Dist ++= Seq("-Xss4m",
      "-Dfile.encoding=UTF-8",
      "-Dlogback.configurationFile=logback.prod.xml",
      "-Dorg.scalatra.environment=production")
  )

在生成sbt dist之后,它会生成包含以下内容的.zip:

代码语言:javascript
复制
#!/bin/env bash

export CLASSPATH="lib:lib/logback-core-1.0.6.jar:lib/jetty-webapp-8.1.8.v20121106.jar:lib/jetty-io-8.1.8.v20121106.jar:lib/scalatra-scalate_2.10-2.2.2.jar:lib/jetty-server-8.1.8.v20121106.jar:lib/mime-util-2.1.3.jar:lib/scalatra-common_2.10-2.2.2.jar:lib/scalate-core_2.10-1.6.1.jar:lib/jetty-util-8.1.8.v20121106.jar:lib/jetty-servlet-8.1.8.v20121106.jar:lib/joda-convert-1.2.jar:lib/juniversalchardet-1.0.3.jar:lib/slf4j-api-1.7.5.jar:lib/scala-library-2.10.4.jar:lib/jetty-continuation-8.1.8.v20121106.jar:lib/grizzled-slf4j_2.10-1.0.1.jar:lib/config-1.0.0.jar:lib/javax.servlet-3.0.0.v201112011016.jar:lib/jetty-xml-8.1.8.v20121106.jar:lib/rl_2.10-0.4.4.jar:lib/jetty-security-8.1.8.v20121106.jar:lib/akka-actor_2.10-2.1.2.jar:lib/jetty-http-8.1.8.v20121106.jar:lib/scala-reflect-2.10.0.jar:lib/scalate-util_2.10-1.6.1.jar:lib/logback-classic-1.0.6.jar:lib/scalatra_2.10-2.2.2.jar:lib/joda-time-2.2.jar:lib/scala-compiler-2.10.0.jar:"
export JAVA_OPTS="-Xms2g -Xmx2g -XX:PermSize=256m -XX:MaxPermSize=256m -Xss4m -Dfile.encoding=UTF-8 -Dlogback.configurationFile=logback.prod.xml -Dorg.scalatra.environment=production"
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.utf-8

java $JAVA_OPTS -cp $CLASSPATH WebServerLauncher

当我尝试运行它时,我得到了:

代码语言:javascript
复制
Error: Could not find or load main class WebServerLauncher

lib目录下有WebServerLauncher.class

如何正确启动它?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-19 08:52:37

我今天也遇到了同样的问题。

我发现生成的脚本是依赖于路径的。也就是说,您不是从bin目录中执行它,而是从dist中的上一个目录执行它。

然后执行bin/YOURSCRIPTNAME,它应该可以工作。

当我注意到CLASSLIB的路径是lib/lib(相对路径)时,我发现了这一点。这个路径唯一正确的地方是dist目录。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23151773

复制
相关文章

相似问题

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