gpt4 book ai didi

java - sbt 项目中的 ClassNotFoundException

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:47 25 4
gpt4 key购买 nike

为了我的生活my scala build tool project只是充满了 ClassNotFoundExceptions。

我所要做的就是克隆它并执行sbt run,然后我就得到了

java.lang.NoClassDefFoundError: com/example/Utils$$anonfun$1
at com.example.Utils$.shortenTypeSignature(Utils.scala:10)
at com.example.Hello$.getTypedDeclaration$1(Hello.scala:69)
at com.example.Hello$.iterateThroughSourceFile$1(Hello.scala:113)
at com.example.Hello$.main(Hello.scala:157)
at com.example.Hello.main(Hello.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
Caused by: java.lang.ClassNotFoundException: com.example.Utils$$anonfun$1
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.example.Utils$.shortenTypeSignature(Utils.scala:10)
at com.example.Hello$.getTypedDeclaration$1(Hello.scala:69)
at com.example.Hello$.iterateThroughSourceFile$1(Hello.scala:113)

以前,我必须在 Hello.scala 中插入 GlobFinder 类型的变量否则我会得到:

/*
Exception in thread "main" java.lang.NoClassDefFoundError: info/collaboration_station/utilities/GlobFinder
at info.collaboration_station.utilities.FileFinder.tryFindAbsolutePathOfFileWhoseNameIs(FileFinder.java:128)
at com.example.Hello$.main(Hello.scala:137)
at com.example.Hello.main(Hello.scala)
Caused by: java.lang.ClassNotFoundException: info.collaboration_station.utilities.GlobFinder
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
*/

修复方法是添加此行...

val vvv = new GlobFinder("foo")

为什么是my Scala project如此充斥着 ClassNotFoundExceptions?

最佳答案

我想我已经明白了。该项目正在自身运行clean。它必须删除自己的类文件。

话虽如此,从

中删除 clean

val proc = Runtime.getRuntime.exec(Array[String]("sbt", "clean", "set scalacOptions in ThisBuild++= Seq(\"-print\")", "compile", "exit"))

^ Hello.scala 中的内容没有修复任何问题。

关于java - sbt 项目中的 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37668445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com