gpt4 book ai didi

scala - sbt、 jetty 和类路径

转载 作者:行者123 更新时间:2023-12-04 06:12:21 25 4
gpt4 key购买 nike

我正在尝试将 SBT 与 xsbt-web-plugin 一起使用。
按照项目网站上的说明进行操作,但继续获得以下内容(抱歉篇幅过长)

sbt.JettyRunException: Jetty and its dependencies must be on the jetty classpath
at sbt.JettyRunner.runError(WebApp.scala:72)
at sbt.JettyRunner.apply(WebApp.scala:62)
at com.github.siasia.WebPlugin$.jettyRunAction(WebPlugin.scala:129)
at com.github.siasia.WebPlugin$$anonfun$jettyRunAction$1.apply(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$$anonfun$jettyRunAction$1.apply(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$.withCurrentRef(WebPlugin.scala:138)
at com.github.siasia.WebPlugin$.jettyRunAction(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$$anonfun$10.apply(WebPlugin.scala:141)
at com.github.siasia.WebPlugin$$anonfun$10.apply(WebPlugin.scala:141)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:33)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:33)
at sbt.Command$.process(Command.scala:91)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:86)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:86)
at sbt.State$$anon$1.process(State.scala:60)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:86)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:86)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:13)
at sbt.MainLoop$.next(Main.scala:86)
at sbt.MainLoop$.run(Main.scala:81)
at sbt.MainLoop$$anonfun$runLogged$1.apply(Main.scala:75)
at sbt.MainLoop$$anonfun$runLogged$1.apply(Main.scala:72)
at sbt.Using.apply(Using.scala:25)
at sbt.MainLoop$.runLogged(Main.scala:72)
at sbt.MainLoop$.runLogged(Main.scala:62)
at sbt.xMain.run(Main.scala:33)
at xsbt.boot.Launch$.run(Launch.scala:54)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:43)
at xsbt.boot.Launch$.launch(Launch.scala:68)
at xsbt.boot.Launch$.apply(Launch.scala:14)
at xsbt.boot.Boot$.runImpl(Boot.scala:24)
at xsbt.boot.Boot$.main(Boot.scala:15)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/WebAppClassLoader
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sbt.ModuleUtilities$.getObject(ModuleUtilities.scala:10)
at sbt.JettyRunner.createRunner$1(WebApp.scala:45)
at sbt.JettyRunner.runJetty$1(WebApp.scala:47)
at sbt.JettyRunner.apply(WebApp.scala:57)
at com.github.siasia.WebPlugin$.jettyRunAction(WebPlugin.scala:129)
at com.github.siasia.WebPlugin$$anonfun$jettyRunAction$1.apply(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$$anonfun$jettyRunAction$1.apply(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$.withCurrentRef(WebPlugin.scala:138)
at com.github.siasia.WebPlugin$.jettyRunAction(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$$anonfun$10.apply(WebPlugin.scala:141)
at com.github.siasia.WebPlugin$$anonfun$10.apply(WebPlugin.scala:141)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:33)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:33)
at sbt.Command$.process(Command.scala:91)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:86)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:86)
at sbt.State$$anon$1.process(State.scala:60)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:86)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:86)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:13)
at sbt.MainLoop$.next(Main.scala:86)
at sbt.MainLoop$.run(Main.scala:81)
at sbt.MainLoop$$anonfun$runLogged$1.apply(Main.scala:75)
at sbt.MainLoop$$anonfun$runLogged$1.apply(Main.scala:72)
at sbt.Using.apply(Using.scala:25)
at sbt.MainLoop$.runLogged(Main.scala:72)
at sbt.MainLoop$.runLogged(Main.scala:62)
at sbt.xMain.run(Main.scala:33)
at xsbt.boot.Launch$.run(Launch.scala:54)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:43)
at xsbt.boot.Launch$.launch(Launch.scala:68)
at xsbt.boot.Launch$.apply(Launch.scala:14)
at xsbt.boot.Boot$.runImpl(Boot.scala:24)
at xsbt.boot.Boot$.main(Boot.scala:15)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.webapp.WebAppClassLoader
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at sbt.classpath.DualLoader.loadClass(DualLoader.scala:29)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at sbt.classpath.LazyFrameworkLoader.doLoadClass(ClassLoaders.scala:122)
at sbt.classpath.LoaderBase.loadClass(ClassLoaders.scala:21)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sbt.ModuleUtilities$.getObject(ModuleUtilities.scala:10)
at sbt.JettyRunner.createRunner$1(WebApp.scala:45)
at sbt.JettyRunner.runJetty$1(WebApp.scala:47)
at sbt.JettyRunner.apply(WebApp.scala:57)
at com.github.siasia.WebPlugin$.jettyRunAction(WebPlugin.scala:129)
at com.github.siasia.WebPlugin$$anonfun$jettyRunAction$1.apply(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$$anonfun$jettyRunAction$1.apply(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$.withCurrentRef(WebPlugin.scala:138)
at com.github.siasia.WebPlugin$.jettyRunAction(WebPlugin.scala:133)
at com.github.siasia.WebPlugin$$anonfun$10.apply(WebPlugin.scala:141)
at com.github.siasia.WebPlugin$$anonfun$10.apply(WebPlugin.scala:141)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:33)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:33)
at sbt.Command$.process(Command.scala:91)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:86)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:86)
at sbt.State$$anon$1.process(State.scala:60)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:86)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:86)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:13)
at sbt.MainLoop$.next(Main.scala:86)
at sbt.MainLoop$.run(Main.scala:81)
at sbt.MainLoop$$anonfun$runLogged$1.apply(Main.scala:75)
at sbt.MainLoop$$anonfun$runLogged$1.apply(Main.scala:72)
at sbt.Using.apply(Using.scala:25)
at sbt.MainLoop$.runLogged(Main.scala:72)
at sbt.MainLoop$.runLogged(Main.scala:62)
at sbt.xMain.run(Main.scala:33)
at xsbt.boot.Launch$.run(Launch.scala:54)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:43)
at xsbt.boot.Launch$.launch(Launch.scala:68)
at xsbt.boot.Launch$.apply(Launch.scala:14)
at xsbt.boot.Boot$.runImpl(Boot.scala:24)
at xsbt.boot.Boot$.main(Boot.scala:15)
at xsbt.boot.Boot.main(Boot.scala)
[error] sbt.JettyRunException: Jetty and its dependencies must be on the jetty classpath
[error] Use 'last' for the full log.

这是我的配置:
在 project/plugins.sbt 中:
resolvers += "Web plugin repo" at "http://siasia.github.com/maven2"    

addSbtPlugin("com.github.siasia" %% "xsbt-web-plugin" % "0.1.2")

libraryDependencies += "org.eclipse.jetty" % "jetty-server" % "8.0.1.v20110908"

这是我的 build.sbt:
name := "Project Manager"

scalaVersion := "2.9.1"

resolvers += "repo.codahale.com" at "http://repo.codahale.com"

libraryDependencies ++= Seq(
"org.scalatra" %% "scalatra" % "2.0.1",
"org.scalatra" %% "scalatra-scalate" % "2.0.1",
"javax.servlet" % "servlet-api" % "2.4",
"org.slf4j" % "slf4j-simple" % "1.6.2",
"postgresql" % "postgresql" % "9.0-801.jdbc4",
"com.codahale" % "jerkson_2.9.1" % "0.4.2",
"org.eclipse.jetty" % "jetty-server" % "8.0.1.v20110908"
)

seq(webSettings :_*)

任何帮助将不胜感激!

最佳答案

看起来插件的作者没有在 Usage 中添加 Jetty 依赖项文档的部分。但是,如果您查看 Running Lift ,你会看到 Jetty 是一个外部需要的依赖:

libraryDependencies ++= Seq(
"net.liftweb" %% "lift-webkit" % "2.3" % "compile",
"org.mortbay.jetty" % "jetty" % "6.1.22" % "jetty",
"ch.qos.logback" % "logback-classic" % "0.9.26"
)

关于scala - sbt、 jetty 和类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7642199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com