gpt4 book ai didi

java - MapDB ClassNotFoundException : kotlin. jvm.internal.Intrinsics

转载 作者:IT老高 更新时间:2023-10-28 13:46:52 30 4
gpt4 key购买 nike

我正在尝试运行一个简单的 mapdb 示例,但出现错误:

    Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
at org.mapdb.DBMaker.fileDB(DBMaker.kt)
at leechies.Truc.main(Truc.java:9)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
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)
... 2 more

我的类(class):

package leechies;
import java.util.concurrent.ConcurrentMap;

import org.mapdb.DB;
import org.mapdb.DBMaker;

public class Truc {
public static void main(String[] args) {
DB db = DBMaker.fileDB("file.db").make();
ConcurrentMap map = db.hashMap("map").createOrOpen();
map.put("something", "here");
db.close();
}
}

我的 pomx.xml

<dependencies>
<dependency>
<groupId>org.mapdb</groupId>
<artifactId>mapdb</artifactId>
<version>3.0.3</version>
</dependency>

我通过右击运行 -> 运行为... -> java 应用程序。

最佳答案

kotlin-runtime 必须在 classpath 中并使用 $ echo $CLASSPATH 进行验证。

或者您必须将 kotlin-runtime 添加到 maven,然后使用 mvn compile assembly:single,

在 jar 本身内组装
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-runtime</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>

<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>

这也需要附加到 Artifact 上,可以通过 assembly-plugin 来完成。

    <plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>event.handlers.InventoryEventHandler</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>

你可以验证 kotlin-runtime 是否被添加到 jar 中

$ jar -tf target/amz-wavelength-1.0-SNAPSHOT-jar-with-dependencies.jar | grep kotlin-runtime
META-INF/kotlin-runtime.kotlin_module

$ jar -tf target/amz-wavelength-1.0-SNAPSHOT-jar-with-dependencies.jar | grep "kotlin/jvm/internal/*"

关于java - MapDB ClassNotFoundException : kotlin. jvm.internal.Intrinsics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43425367/

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