使用本地 Artifactory 服务器配置 Intellij IDEA 15.0.4 和 SBT 0.13.7

Posted

技术标签:

【中文标题】使用本地 Artifactory 服务器配置 Intellij IDEA 15.0.4 和 SBT 0.13.7【英文标题】:Configuring Intellij IDEA 15.0.4 and SBT 0.13.7 with local Artifactory server 【发布时间】:2016-07-03 22:05:15 【问题描述】:

我在有互联网连接的计算机上安装了 Intellij IDEA 15.0.4 + Scala 插件(2.2.0),创建了一个新的 SBT 项目并将所有外部依赖项添加到项目中:

i.stack.imgur.com/v560H.png

但是,当我尝试在我们的隔离网络(没有互联网)中针对我们的 Artifactory 服务器做同样的事情时,我收到了以下消息:

错误:导入 SBT 项目时出错:...

http://zzz:8081/artifactory/scala_local/org/fusesource/jansi/jansi/1.11/jansi-1.11.jar
            :::::::::::::::::::::::::::::::::::::::::::::: 

            ::          UNRESOLVED DEPENDENCIES         :: 

            :::::::::::::::::::::::::::::::::::::::::::::: 

            :: org.fusesource.jansi#jansi;1.11: not found 

            :::::::::::::::::::::::::::::::::::::::::::::: 

:: 使用详细或调试消息级别获取更多详细信息未解决 依赖:org.fusesource.jansi#jansi;1.11: not found Error during sbt 执行:检索所需库时出错(请参阅 C:\Users....sbt\boot\update.log 完整日志)错误:无法 检索 jansi 1.11

在 C:\Users....IdeaIC15\system\log\sbt.last.log 中查看完整日志

所以我认为我需要将 jansi 1.11 升级到 Artifactory(到 /org/fusesource/jansi/jansi/1.11/)。 将 jansi 上传到 Artifactory 后,我刷新了 SBT 并开始收到以下消息:

错误:导入 SBT 项目时出错:sbt 执行期间出错:否 指定或检测到 Scala 版本

所以我猜这与 Scala 在 Artifactory 中不可用的事实有关?如果是这个原因,手动将所有 jar 上传到各自的路径似乎是不合理的,而且我在多次尝试中都无法“猜测”路径......所以我很确定我在这里做错了什么。 ..

这是我的 build.sbt:

name := "未命名"

版本 := "1.0"

scalaVersion := "2.10.4"

这是我的 .sbt\repositories:

[repositories] local  my-ivy-proxy-releases: http://zzz:8081/artifactory/scala_local/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] my-maven-proxy-releases: http://zzz:8081/artifactory/scala_local/

(对不起布局,不允许我发布超过 2 个链接...)

我在这里检查了一些类似的问题,似乎没有任何帮助......

感谢您对我应该检查/阅读的内容的帮助... 有没有办法自动将所有依赖项部署到 Artifactory 中的正确路径?

***编辑: 好的,所以我删除了 .sbt\repositories 文件,使 IntelliJ 缓存无效并重新启动,创建了一个新的 SBT 项目...... 这似乎也没有帮助 now it seems that it doesn't recognize the build.sbt syntax anymore... 即使我添加了解析器,它也会完全忽略它...... 我手动删除了 /.sbt/boot/other/ 中的目录(那里有 jansi 和 scala-sbt),现在它无法再次解析 jansi,只是这次它尝试连接到 repo1.maven.org ... :

Error:Error while importing SBT project:<br/>...<br/><pre>          https://repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.11/jansi-1.11.jar 

            :::::::::::::::::::::::::::::::::::::::::::::: 

            ::          UNRESOLVED DEPENDENCIES         :: 

            :::::::::::::::::::::::::::::::::::::::::::::: 

            :: org.fusesource.jansi#jansi;1.11: not found 

            :::::::::::::::::::::::::::::::::::::::::::::: 



:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS 
unresolved dependency: org.fusesource.jansi#jansi;1.11: not found 
Error during sbt execution: Error retrieving required libraries 
  (see C:\Users\...\.sbt\boot\update.log for complete log) 
Error: Could not retrieve jansi 1.11 
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=384M; support was removed in 8.0</pre><br/>See complete log in <a href="C:\Users\...\.IdeaIC15\system\log\sbt.last.log">C:\Users\...\.IdeaIC15\system\log\sbt.last.log</a>

谢谢, 帕

【问题讨论】:

你的 build.sbt 文件中有解析器吗? 嗨@zee,我在build.sbt 中添加了以下行,它似乎完全忽略了它:resolvers += "Artifactory" at "zzz:8081/artifactory/scala_local" 【参考方案1】:

我们遇到了类似的问题。

最终解决问题的是删除 .sbt\repository 文件。 然后可以使用默认存储库解决所有依赖关系。

【讨论】:

嗨@Avi,我删除了 \.sbt\repositories 文件,使 IntelliJ 缓存无效并重新启动,创建了一个新的 SBT 项目......这似乎没有帮助,现在看来它不再识别 build.sbt 语法...即使我按照 Zee 的建议添加了解析器,它也完全忽略了它...我手动删除了 /.sbt/boot/other/ 中的目录(有 jansi 和 scala- sbt there),现在它无法再次解析 jansi。 右键项目点击“添加框架支持...”,添加Scala技术。然后 Intellij IDEA 会识别 build.sbt【参考方案2】:

这是您使用的 IDE 的问题,特别是其中的 scala 插件。您只需转到创建 build.sbt 的文件夹即可解决此问题。删除“project”文件夹并打开cmd,对该文件夹运行“sbt”命令,将创建一个新的项目文件夹。现在您可以在 IDE 中打开它。

可能是你一开始就在ide中发现了一些问题,如果你构建一次项目,所有的问题都会消失。

【讨论】:

以上是关于使用本地 Artifactory 服务器配置 Intellij IDEA 15.0.4 和 SBT 0.13.7的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Gradle 1.12 版发布(部署)本地(.war .jar)文件到 Artifactory?

如何配置 Maven2 发布到 Artifactory?

Jenkins Artifactory 插件:请求版本信息时出错:连接被拒绝

Artifactory:升级到新的 Artifactory 5.10.3 并支持新的 Pypi 后,本地 Pypi 存储库“慢”

Artifactory的搭建与使用简介

Artifactory的搭建与使用简介