【问题标题】:sbt 0.13.8 URI has an authority componentsbt 0.13.8 URI 有一个权限组件
【发布时间】:2015-08-17 21:35:13
【问题描述】:

在 sbt 项目中运行 sbt 时出现此错误。我有 JDK 8 和 sbt 0.13.8。我可以毫无问题地运行 activator 命令,但我需要 sbt 工作,因为我的 IDE (IntelliJ IDEA) 使用它来加载项目。

E:\work\workspace\knowlege\play-scala-di>sbt
    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
    java.lang.IllegalArgumentException: URI has an authority component
    at java.io.File.<init>(File.java:423)
    at sbt.Classpaths$.sbt$Classpaths$$bootRepository(Defaults.scala:1758)
    at sbt.Classpaths$$anonfun$appRepositories$1.apply(Defaults.scala:1729)
    at sbt.Classpaths$$anonfun$appRepositories$1.apply(Defaults.scala:1729)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
            at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
            at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:34)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
    at scala.collection.AbstractTraversable.map(Traversable.scala:105)
    at sbt.Classpaths$.appRepositories(Defaults.scala:1729)
    at sbt.Classpaths$$anonfun$41.apply(Defaults.scala:1102)
    at sbt.Classpaths$$anonfun$41.apply(Defaults.scala:1102)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.EvaluateSettings$MixedNode.evaluate0(INode.scala:175)
    at sbt.EvaluateSettings$INode.evaluate(INode.scala:135)
    at sbt.EvaluateSettings$$anonfun$sbt$EvaluateSettings$$submitEvaluate$1.apply$mcV$sp(INode.scala:69)
    at sbt.EvaluateSettings.sbt$EvaluateSettings$$run0(INode.scala:78)
    at sbt.EvaluateSettings$$anon$3.run(INode.scala:74)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    [error] java.lang.IllegalArgumentException: URI has an authority component

【问题讨论】:

  • 请分享build.sbt好吗?
  • 我删除了你的个人资料文件夹中的 ~/.sbt/ 文件夹。
  • 感谢您的提问! Jason Touhey 的回答帮助了我。

标签: playframework sbt


【解决方案1】:

激活器添加到 sbt 存储库列表的 URI 缺少第三个斜杠。

打开 C:\Users\[USER]\.sbt\repositories

添加第三个斜线 (即activator-launcher-local:file:///${activator.local.repository-${activator.home-${user.home}/.activator}/repository},[组织]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/artifact.[ext])

【讨论】:

  • 谢谢,我必须将两个“file://”更改为“file:///”
  • 您好,我有同样的问题,我认为不值得再问一个问题:我该如何更改?我的意思是 file:// 到 file:///
  • 正在尝试使用示例 java 应用程序启动和运行 2.4.1 播放框架。 Activator 遇到了类似的问题,现在由于额外的斜线而可以正常工作。
  • 如果您没有~/.sbt/repositories 文件,请删除~/.sbt/ 目录并再次运行激活器。这应该为您创建它。然后添加/ 确实解决了这个问题。
  • wtf - 这怎么可能是个问题。谢谢!
【解决方案2】:

解决方案有点棘手(您需要每次都重新插入斜线)。见这里:https://github.com/typesafehub/activator/issues/1037

【讨论】:

  • 是的,我每天都必须这样做,解决办法是什么?
  • 我的 .sbt 文件夹中没有名为 repositories 的文件我使用的是 activator 1.3.5
【解决方案3】:

我刚刚删除了 C:\Users[USER]\ 中的 .sbt 文件夹 并且play项目成功导入intellij。

【讨论】:

    【解决方案4】:

    这仍然是 Windows 的问题,解决方法是将 file:// 替换为 file:///,这样做非常烦人,因此一个好的解决方法是在项目根目录中设置一个简单的 ant build.xml。

    <project name="someName" default="run" basedir=".">
        <description>
            Fix sbt repositories
        </description>
        <property name="sbtrepo" location="${user.home}/.sbt/repositories"/>
        <target name="fixsbt">
            <replace file="${sbtrepo}" token="file://$" value="file:///$"/>
        </target>
        <target name="run" depends="fixsbt">
            <exec executable="C:\dev\Git\git-bash.exe" spawn="true">
                <arg line="-c 'activator run'" />
            </exec>
        </target>
    </project>
    

    您可以单独运行 fixsbt 目标来进行文件替换,也可以使用 run 目标来修复存储库文件,然后运行 ​​activator。此示例使用 gitbash shell 运行命令,因此您需要更改环境的 shell/路径。

    【讨论】:

      猜你喜欢
      • 2015-08-22
      • 1970-01-01
      • 2022-07-07
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多