运行 sbt 的项目根目录中的 java.lang.NullPointerException [英] java.lang.NullPointerException in project root running sbt

查看:54
本文介绍了运行 sbt 的项目根目录中的 java.lang.NullPointerException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从 Scala 开始,我正在尝试在 build.sbt 所在的项目文件夹中运行 sbt.当我收到此错误时,此文件夹是唯一的文件夹.如果我在 src 文件夹或我的 Documents 文件夹中运行它,我不会收到错误消息.谁能告诉我为什么会这样?我不知道如何表示文件夹结构,它将是 build.sbt 的主根目录,src 文件夹内将是 example/src/main/scala/example/Lists.scala.它是来自 coursera 的文件夹,所以我没有创建它.构建是:

I'm starting in Scala and I'm trying to run sbt in my project folder where build.sbt is. This folder is the only one when I get this error. If I run it in the src folder or in my Documents folder I don't get the error. Could anyone tell me why is this happening? I wouldn't know how to represent the folder structure, it would be the main root with the build.sbt and inside the src folder would be example/src/main/scala/example/Lists.scala. It is a folder from coursera so I didn't create it. The build is :

name := course.value + "-" + assignment.value

scalaVersion := "2.11.7"

scalacOptions ++= Seq("-deprecation")

// grading libraries
libraryDependencies += "junit" % "junit" % "4.10" % Test

// for funsets
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.4"

// include the common dir
commonSourcePackages += "common"

courseId := "bRPXgjY9EeW6RApRXdjJPw" 

错误是:

java.lang.NullPointerException
    at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1769)
    at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
    at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
    at java.base/java.util.regex.Pattern.matcher(Pattern.java:1147)
    at java.base/java.util.regex.Pattern.split(Pattern.java:1264)
    at java.base/java.util.regex.Pattern.split(Pattern.java:1335)
    at sbt.IO$.pathSplit(IO.scala:744)
    at sbt.IO$.parseClasspath(IO.scala:859)
    at sbt.compiler.CompilerArguments.extClasspath(CompilerArguments.scala:62)
    at sbt.compiler.MixedAnalyzingCompiler$.withBootclasspath(MixedAnalyzingCompiler.scala:189)
    at sbt.compiler.MixedAnalyzingCompiler$.searchClasspathAndLookup(MixedAnalyzingCompiler.scala:167)
    at sbt.compiler.MixedAnalyzingCompiler$.apply(MixedAnalyzingCompiler.scala:177)
    at sbt.compiler.IC$.incrementalCompile(IncrementalCompiler.scala:138)
    at sbt.Compiler$.compile(Compiler.scala:128)
    at sbt.Compiler$.compile(Compiler.scala:114)
    at sbt.Defaults$.sbt$Defaults$$compileIncrementalTaskImpl(Defaults.scala:829)
    at sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:820)
    at sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:818)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.base/java.lang.Thread.run(Thread.java:844)
[error] (compile:compileIncremental) java.lang.NullPointerException
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q

推荐答案

您的问题可能是旧的 SBT 版本.

Your issue may be an old SBT version.

确保您使用 SBT 0.13.17+ 来兼容 JDK 9(即通过在项目/build.properties 中设置 sbt.version=0.13.17)

Ensure you are using SBT 0.13.17+ for JDK 9 compatibility (i.e. by setting sbt.version=0.13.17 in your project/build.properties)

参考:https://github.com/sbt/sbt/pull/3848

这篇关于运行 sbt 的项目根目录中的 java.lang.NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆