Logback 依赖性阻止 SBT 离线运行

2024-01-24

这是一个细化的上一个问题 https://stackoverflow.com/questions/23014492/sbt-0-13-1-offline更密切地归因于问题。

我正在尝试确认我可以离线运行我的 SBT 项目。我可以,除非 logback 是我的库依赖项之一。为什么 logback 会触发问题?我做了一个简单的例子,仅包含一个 build.sbt 和一个“hello world”应用程序......

构建.sbt用一堆随机依赖来证明这一点:

name := "testProject"

version := "0.0.1"

scalaVersion := "2.10.3"

libraryDependencies ++= Seq(
    "org.apache.commons" % "commons-math3" % "3.2",
    "com.amazonaws" % "aws-java-sdk" % "1.4.0.1",
    "ch.qos.logback" % "logback-classic" % "1.1.1",
    "com.typesafe.akka" %% "akka-actor" % "2.3.1", 
    "com.typesafe.akka" %% "akka-remote" % "2.3.1",
    "org.scalaz" %% "scalaz-core" % "7.0.3"
)

My steps

  1. Delete ~/.ivy2, ~/.sbt, and target/在我的项目中,只是为了确定
  2. 确保连接到互联网,然后执行sbt run。我的hello world运行成功
  3. 断开互联网连接
  4. sbt clean
  5. sbt run。构建失败,logback 作为未解决的依赖项
  6. 删除 logback 依赖项并sbt run再次。你好世界运行。

这是步骤 5 中的错误:

[info] Resolving ch.qos.logback#logback-classic;1.1.1 ...
[warn] Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.pom
[info] You probably access the destination server through a proxy server that is not well configured.
[warn]  module not found: ch.qos.logback#logback-classic;1.1.1
[warn] ==== local: tried
[warn]   /home/user/.ivy2/local/ch.qos.logback/logback-classic/1.1.1/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: ch.qos.logback#logback-classic;1.1.1: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: unresolved dependency: ch.qos.logback#logback-classic;1.1.1: not found

Update:

使用lastSBT中的命令有一个lot用于依赖性解析的调试信息。下面是 Akka 成功解析的示例:

[info] Resolving com.typesafe.akka#akka-actor_2.10;2.3.1 ...
[debug] sbt-chain: Checking cache for: dependency: com.typesafe.akka#akka-actor_2.10;2.3.1 {compile=[default(compile)]}
[debug] sbt-chain: module revision found in cache: com.typesafe.akka#akka-actor_2.10;2.3.1
[debug]     local: revision in cache: com.typesafe.akka#akka-actor_2.10;2.3.1
[debug]     found com.typesafe.akka#akka-actor_2.10;2.3.1 in sbt-chain
[debug] == resolving dependencies testproject#testproject_2.10;0.0.1->com.typesafe.akka#akka-actor_2.10;2.3.1 [compile->runtime]
[debug] == resolving dependencies testproject#testproject_2.10;0.0.1->com.typesafe.akka#akka-actor_2.10;2.3.1 [compile->compile]
[debug] == resolving dependencies com.typesafe.akka#akka-actor_2.10;2.3.1->org.scala-lang#scala-library;2.10.3 [compile->master(*)]
[debug] == resolving dependencies com.typesafe.akka#akka-actor_2.10;2.3.1->org.scala-lang#scala-library;2.10.3 [compile->compile(*)]
[debug] == resolving dependencies com.typesafe.akka#akka-actor_2.10;2.3.1->com.typesafe#config;1.2.0 [compile->master(*)]

这是 Logback 的失败:

[info] Resolving ch.qos.logback#logback-classic;1.1.1 ...
[debug] sbt-chain: Checking cache for: dependency: ch.qos.logback#logback-classic;1.1.1 {compile=[default(compile)]}
[debug]         tried /home/user/.ivy2/local/ch.qos.logback/logback-classic/1.1.1/ivys/ivy.xml
[debug]     local: no ivy file found for ch.qos.logback#logback-classic;1.1.1
[debug]         tried http://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.pom
[warn] Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.pom
[info] You probably access the destination server through a proxy server that is not well configured.
[debug]     public: no ivy file found for ch.qos.logback#logback-classic;1.1.1
[warn]  module not found: ch.qos.logback#logback-classic;1.1.1
[warn] ==== local: tried
[warn]   /home/user/.ivy2/local/ch.qos.logback/logback-classic/1.1.1/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.1.1/logback-classic-1.1.1.pom

我可以确认缓存中的以下文件(不是“~/.ivy/local”文件夹):

~/.ivy2/cache/ch.qos.logback/logback-classic$ ls
ivy-1.1.1.xml  ivy-1.1.1.xml.original  ivydata-1.1.1.properties  jars

当我尝试时,该文件确实是从 ~/.ivy2/cache 解析的。我没有 ~/.ivy2/local 因为我不在本地发布。您是否可能有一个 ivysettings.xml 文件(在 Linux 上,尝试locate ivysettings.xml)这扰乱了一些ivy缓存属性 https://ant.apache.org/ivy/history/latest-milestone/settings/caches.html,如解析缓存目录?为什么你只对那一个罐子有问题仍然是一个谜......

更新:这似乎是 SBT 0.13.1 中的回归;它在 0.13.0 中工作,正如 OP 自己发现的那样(参见他的答案),它在 0.13.2 中被修复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Logback 依赖性阻止 SBT 离线运行 的相关文章

随机推荐

  • 错误:“if”之前应有不合格的 id

    我用谷歌搜索了这个错误 直到我脸色发青 但无法将任何结果与我的代码联系起来 这个错误似乎通常是由于牙套 父母等放错位置或丢失造成的 我已经很长时间没有写过任何 C 了 所以我可能遗漏了一些明显的 愚蠢的东西 这是我正在编写的 Qt Mobi
  • Hadoop ChainMapper、ChainReducer [重复]

    这个问题在这里已经有答案了 我对 Hadoop 比较陌生 并试图弄清楚如何使用 ChainMapper ChainReducer 以编程方式链接作业 多个映射器 减速器 我找到了一些部分示例 但没有一个完整且有效的示例 我当前的测试代码是
  • 使用 url 参数时,iPhone 的 Web 应用程序从主屏幕切换到 Safari

    我为 iPhone 开发了一个网络应用程序 并将其添加为书签并添加到 iPhone 的主屏幕上 不过 我注意到它有一个问题 它会按预期工作 直到我导航到应用程序中具有查询字符串和参数的页面 例如 www mywebapp com page0
  • 在 calc() 中使用分数 (fr) 给出“无效的属性值”

    我正在尝试使用calc 使用 CSS 网格时在某些宽度上 所以我正在尝试的一件事是 grid template columns calc 1fr 50px calc 1fr 50px 因为我希望它是两个分数 但删除 50px 因为它用于填充
  • Meteor:从客户端上传文件到 Mongo 集合 vs 文件系统 vs GridFS

    Meteor 很棒 但它缺乏对传统文件上传的原生支持 有多种选项可以处理文件上传 来自客户 可以使用以下方式发送数据 Meteor call saveFile data 或 collection insert file data POST
  • 查找 maven 用于运行 testng 测试用例的类路径

    我可以使用 maven 的哪些选项来确定 maven 正在使用哪个类路径运行 testng 测试用例 您没有提供 Maven 版本 但至少在 3 x 也可能是 2 x 中您可以使用 X 调试 选项运行命令 这样 测试类路径就会在测试运行之前
  • 如何更改默认的WCF服务绑定?

    在我的 WCF 中 我有一些服务 其中之一必须对消息大小有更大的限制 因此我必须创建另一个绑定并更改配置 但是 我在 Web config 中看不到我的服务的任何配置 什么也没有 有什么是默认的吗 那么我可以在哪里更改服务绑定呢 在 WCF
  • 错误:无法访问 com.facebook.imagepipeline.animated.base.AnimatedImage 的 AnimatedImage 类文件未找到

    我收到错误 错误 无法访问 AnimatedImage 未找到 com facebook imagepipeline animated base AnimatedImage 的类文件 尝试运行时https github com WhatsA
  • 使用 C# 创建 Windows 窗体向导

    我是 C Net 中的 Windows 窗体应用程序创建向导的新手 所以我对向导创建没有任何想法 请给我一些关于创建多个向导的想法 问候 拉维 有很多方法可以做到 为每个向导步骤创建一个表单是可能的 但非常尴尬 而且丑陋的是 当用户改变步骤
  • VSTO:应用重点

    有人知道如何查看 VSTO 项目的 Excel 窗口是否处于活动 焦点状态吗 我正在寻找相当于System Windows Window IsActive 我也曾为此感到沮丧 您在 VSTO 应用程序中使用对话框吗 如果是这样 我所做的就是
  • 如何检测滑动手势方向?

    我需要检测我的滑动手势的方向 但我遇到了问题 手势有效 但我不知道如何检测方向 swipeGesture UISwipeGestureRecognizer alloc initWithTarget self action selector
  • 没有System32如何解决“java.lang.UnsatisfiedLinkError:找不到依赖库”?

    我正在 Eclipse 上开发一个 Java 项目 该项目通过 JNI 使用 C OpenCV 库 一些图像处理算法是在本机端使用 OpenCV 实现的 我希望通过 JNI 从 java 中使用它们 我构建了一个 C DLL 项目来链接到
  • 根据环境选择C二进制文件

    我使用特定标志 Os O2 march native 及其组合 编译了代码 以便产生更快的执行时间 但我的问题是我并不总是在同一台机器上运行 因为在我的实验室中有几台不同的机器 有时我在 MacOS 或 Linux 中运行 这两种情况都具有
  • 在 Windows 8 中覆盖证书验证

    我正在尝试在 Windows 8 Consumer Preview 上的 ssl 套接字中使用自签名证书 我收到这个异常 异常 System Runtime InteropServices COMException 0x800B0109 证
  • 验证 cypress 的加载指示器显示

    我有以下规格 context Contact update gt it only Can update contact gt const address new address 123 const cardId c2card 38AF429
  • 如何在实体框架中将 Int 属性替换为 Enum?

    我有一个实体类 它的属性具有数据类型 Int 的基础数据库列 但实际上我希望该属性是一个枚举 有什么方法可以指定该属性返回一个枚举吗 间接地 比如so http weblogs asp net alexeyzakharov archive
  • scrypt 输出的最大长度是多少?

    我想存储一个scrypt http en wikipedia org wiki Scrypt 数据库中的散列密码 我可以预期的最大长度是多少 根据https github com wg scrypt https github com wg
  • 为什么我们需要添加

    为什么我们需要在 Facebook 应用程序中添加这对标签 这对标签有什么用呢 我创建了一个使用 apprequest 的应用程序 即使我没有在脚本前面添加这些标签 它也能正常工作 所以我真的很想知道为什么我们需要添加它们 谢谢 它是 Fa
  • 什么是影根

    在 Google Chrome 的开发者工具中 我看到 shadow root就在下面标签 它有什么作用以及用途是什么 我在 Firefox 和 IE 中都没有看到它 仅在 Chrome 中 这是一个特殊功能吗 如果我打开它 它会显示 an
  • Logback 依赖性阻止 SBT 离线运行

    这是一个细化的上一个问题 https stackoverflow com questions 23014492 sbt 0 13 1 offline更密切地归因于问题 我正在尝试确认我可以离线运行我的 SBT 项目 我可以 除非 logba