首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SBT、Jetty和Servlet 3.0

SBT、Jetty和Servlet 3.0
EN

Stack Overflow用户
提问于 2012-03-27 20:39:09
回答 3查看 10.3K关注 0票数 16

我有一个非常小的问题。

我有以下build.sbt文件:

name := "Tueet"

libraryDependencies += "org.eclipse.jetty" % "jetty-webapp" % "8.1.2.v20120308"

在调用sbt update之后,我得到了以下内容:

[info] Set current project to Tueet (in build file:/C:/dev/tueet/)
[info] Updating {file:/C:/dev/tueet/}default-d5e982...
[info] Resolving org.scala-lang#scala-library;2.9.1 ...
[info] Resolving org.eclipse.jetty#jetty-webapp;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty#jetty-xml;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty#jetty-util;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty#jetty-servlet;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty#jetty-security;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty#jetty-server;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty.orbit#javax.servlet;3.0.0.v201112011016 ...
[info] Resolving org.eclipse.jetty#jetty-continuation;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty#jetty-http;8.1.2.v20120308 ...
[info] Resolving org.eclipse.jetty#jetty-io;8.1.2.v20120308 ...
[warn]  [NOT FOUND  ] org.eclipse.jetty.orbit#javax.servlet;3.0.0.v201112011016!javax.servlet.orbit (603ms)
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.orbit
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::              FAILED DOWNLOADS            ::
[warn]  :: ^ see resolution messages for details  ^ ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.eclipse.jetty.orbit#javax.servlet;3.0.0.v201112011016!javax.servlet.orbit
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/C:/dev/tueet/}default-d5e982/*:update: sbt.ResolveException: download     failed: org.eclipse.jetty.orbit#javax.servlet;3.0.0.v201112011016!javax.servlet.orbit
[error] Total time: 1 s, completed 2012-03-27 14:33:34

这是愚蠢的,因为它在Maven中工作没有问题。我发现这是因为Orbit对包装做了一些事情(他们显然是把它设置到了orbit上)。

我尝试了exclude("org.eclipse.jetty.orbit","javax.servlet"),但是什么也没有发生,它仍然需要这个依赖。

我找不到任何关于如何实际解决这个问题的信息,也许有人会在这里帮助我:)

更新:提出的错误提供了一个解决方法,所以为了解决这个问题,我实际上将build.sbt更改为

name := "Tueet"

libraryDependencies += "org.eclipse.jetty" % "jetty-server" % "8.1.2.v20120308"

ivyXML := 
<dependency org="org.eclipse.jetty.orbit" name="javax.servlet" rev="3.0.0.v201112011016">
<artifact name="javax.servlet" type="orbit" ext="jar"/>
</dependency>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-28 00:45:38

查看此错误:https://jira.codehaus.org/browse/JETTY-1493

问题的症结在于,ivy不支持orbit扩展,需要将orbit打包类型映射到jar。我不确定你是否在使用ivy,但基本原因是一样的,你可以通过查看它从maven central下载的url来查看。

这个bug提供了更多的背景信息,说明了我们一开始切换到这些依赖项的原因。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=371954

票数 8
EN

Stack Overflow用户

发布于 2012-07-11 19:57:55

我找到了一种解决方法。更多信息可以在这里找到:SBT, Jetty and Servlet 3.0

classpathTypes ~= (_ + "orbit")

libraryDependencies ++= Seq(
  "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container"         artifacts (Artifact("javax.servlet", "jar", "jar")
  )
)

libraryDependencies ++= Seq(
  "org.eclipse.jetty" % "jetty-webapp" % "8.1.4.v20120524" % "container" artifacts            (Artifact("jetty-webapp", "jar", "jar"))
)
票数 6
EN

Stack Overflow用户

发布于 2013-07-01 11:31:29

使用sbt 0.12+ (来自:https://github.com/sbt/sbt/issues/499)

libraryDependencies ++= Seq(
    "org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container",
    "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container" artifacts Artifact("javax.servlet", "jar", "jar")
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9889674

复制
相关文章

相似问题

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