当前位置: 首页 > 知识库问答 >
问题:

SBT在本地maven存储库中找不到文件,尽管它在那个里

龙承颜
2023-03-14

我在本地存储库中的 maven 依赖项中遇到了问题。

SBT找不到它。已将日志级别设置为调试,但未获得任何新信息。

文件在仓库里。我将粘贴路径从控制台复制到文件资源管理器,它们就在那里。

输出:

[debug]          trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom

[debug]                 tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom

[debug]         Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0
.0/naggati-2.0.0.pom

[debug]          trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar

[debug]                 tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar

[debug]         Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0
.0/naggati-2.0.0.jar

[debug]         Local Maven Repository: no ivy file nor artifact found for com.twitter#naggati;2.0.0

编辑:我在项目/构建中使用scala文件添加了路径,如 http://code.google.com/p/simple-build-tool/wiki/LibraryManagement

"如果您将本地Maven存储库添加为存储库,sbt可以搜索它:"

val mavenLocal = "Local Maven Repository" at "file://"+Path.userHome+"/.m2/repository"

这使得sbt看起来像本地存储库。在没有之前。

因此scala文件如下所示:

import sbt._

class Foo(info: ProjectInfo) extends DefaultProject(info) {

val mavenLocal = "Local Maven Repository" at "file://c:/Users/userz/.m2/repository"

}

(我硬编码Path.userHome以排除可能的错误原因。正如预期的那样,它没有改变任何东西)。

共有3个答案

严亮
2023-03-14

要使其适用于较新版本的sbt,请将以下内容添加到build.sbt:

resolvers += "Local Maven Repository" at "file:///"+Path.userHome+"/.m2/repository"
淳于博文
2023-03-14

在< code >文件:说明符后需要三个斜杠。这是因为在第二个和第三个斜杠之间,有一个可选的主机名。维基百科对< code >文件: URL有很好的解释

您遇到了问题,因为< code >“file://”path . user home "/. m2/repository " 的典型模式假定一个Unix文件系统,其中路径以< code>/开头,不包含< code>:,并且通常不包含空格。

要使非硬编码路径同时在Windows和Linux/Unix上工作,请使用:

"Local Maven" at Path.userHome.asFile.toURI.toURL + ".m2/repository"
长孙玉泽
2023-03-14

只需在构建中添加这一行。scala或build。sbt文件

resolvers += Resolver.mavenLocal
 类似资料:
  • 我有一个,具有以下依赖关系: 我尝试了几个其他版本,也从本地repo中删除了依赖项,并再次尝试,但没有帮助。会有什么问题?

  • 我正在编写一个自定义Gradle插件来为所有项目添加公共资源。例如,所有微服务都使用SpringBoot web、sleuth和其他常见的依赖项。 因此,决定将创建一个独立的项目,并将插件导出为jar,然后将插件应用于其他项目。

  • 我有一台有Windows操作系统的机器,它被用来构建很少的战争项目。它安装了Java8。我正在使用Maven 3.2.5构建这些WAR项目。一切都很好。但是由于Java8免费更新的结束,将来会成为一个问题,我想到了升级到OpenJDK11。 我下载了OpenJDK11,但没有安装它,因为我只是想尝试这个项目的1开始。我拿起一个WAR项目来检查OpenJDK11是否工作。这个项目是使用JHipste

  • 问题内容: 背景:我正在封闭网络中的Maven项目,这意味着我无法连接到Maven Central。我有一个存储库文件夹,其中包含我需要的所有工件,包括插件和Maven工件。另外,我无法使用或安装Nexus。 问题:我想使用maven 3.6.0 / jdk 1.8.0_162运行Jenkins作业。我的settings.xml文件如下: 我的POM没有存储库部分,因为jenkins从属服务器应确

  • 问题内容: 我已经构建了Gradle插件并将其发布到本地Maven存储库。我可以在〜/ .m2 /存储库中看到它。但是,当我运行Gradle项目以使用此插件时,它甚至不会在本地存储库中查找……至少,并非基于输出。 当从命令行运行时,它将报告此信息: 失败:生成失败,发生异常。 其中:构建文件“ D:\ Work \ MuseProject \ update4j-gradle-plugin \ ex

  • 问题内容: 我正在使用Maven版本3.6.1 我想在Maven存储库(elasticsearch-rest-high-level-client 7.5.1)中下载工件。我可以在 maven-central-repository search 但是在搜索elasticsearch elasticsearch-rest-high-level-client/7.5.1给出的回购协议时,它们是Centr