gpt4 book ai didi

scala - 用于 lift 的 sbt unmanagedClasspath 条目编译但在运行时未找到

转载 作者:行者123 更新时间:2023-12-02 05:01:49 26 4
gpt4 key购买 nike

我的 lift sbt 文件中有一个 unmanagedClasspath 条目,它指向外部 java 项目的类。它编译得很好,但是当它运行时我得到了一个 NoClassDefError 。下面是 sbt 条目,后面是一些 NoClassDefError 的痕迹。

非常感谢任何帮助

设计

unmanagedClasspath in Compile += file("[Path to my project]/classes")

ERROR n.liftweb.http.provider.HTTPProvider - Failed to Boot! Your application may not run properly
java.lang.NoClassDefFoundError: com/myproject/MyClass
at bootstrap.liftweb.Boot.boot(Boot.scala:70) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_21]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_21]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_21]
at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_21]
at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:364) ~[lift-util_2.9.1-2.5-RC2.jar:2.5-RC2]
at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:362) ~[lift-util_2.9.1-2.5-RC2.jar:2.5-RC2]
at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1999) ~[lift-webkit_2.9.1-2.5-RC2.jar:2.5-RC2]
at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1999) ~[lift-webkit_2.9.1-2.5-RC2.jar:2.5-RC2]
at net.liftweb.common.Full.map(Box.scala:553) ~[lift-common_2.9.1-2.5-RC2.jar:2.5-RC2]

最佳答案

unmanagedJars in CompileRuntimeTest 中被用作同一个键的基础,所以它的内容被Runtime 继承,但 unmanagedClasspath 不是这种情况。这就是为什么您应该尽可能选择 unmanagedJars

您可以明确地将您的文件夹添加到两种配置中:

val additionalClasses = file("[Path to my project]/classes")

unmanagedClasspath in Compile += additionalClasses

unmanagedClasspath in Runtime += additionalClasses

注意:sbt < 0.13 不支持 build.sbt 中的 val,所以你必须在两个设置中复制它的内容,或切换到完整的 Build.scala

参见 Classpaths docsthis anwser有关类路径设置的作用以及它们如何在配置之间继承的更多详细信息。

虽然我想不出同时将它添加到两者的方法...

关于scala - 用于 lift 的 sbt unmanagedClasspath 条目编译但在运行时未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943308/

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