0

我有以下错误,我真的不知道该怎么办:(Java - gRPC,部署到 minishift)

/opt/jboss/container/java/run/run-java.sh使用...启动 Java 应用程序

INFO exec  java -javaagent:/opt/jboss/container/jolokia/jolokia.jar=config=/opt/jboss/container/jolokia/etc/jolokia.properties -XX:+UseParallelOldGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MaxMetaspaceSize=100m -XX:+ExitOnOutOfMemoryError -cp "." -jar /deployments/demo-0.0.1-SNAPSHOT.jar  
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
**Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: io/grpc/BindableService
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: io.grpc.BindableService
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
... 7 more**
4

2 回答 2

0

我遇到了同样的问题并检查了 jar 文件的内容,jar -xf [your_jar_file].jar发现没有与 grpc 相关的类或我在 pom.xml 中列出的任何其他依赖项

所以我找到了这个答案,它可以帮助您将 jar 与依赖项打包在一起。在继续之前,请阅读答案下的所有评论。

这样做之后,我能够毫无问题地运行,并且当我解包时,这些类确实在 jar 中。

于 2020-09-18T06:43:54.043 回答
0

看起来您是在不同于用于构建的 JDK 上运行您的应用程序。您可以尝试在您正在运行的平台上重建吗?

于 2020-03-13T21:37:12.627 回答