运行 sbt 的项目根目录中的 java.lang.NullPointerException [英] java.lang.NullPointerException in project root running sbt
问题描述
我从 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屋!