当前位置: 首页 > 知识库问答 >
问题:

JavaVM致命:无法加载jvm库

蒋高扬
2023-03-14

我正在尝试使用C++启动jvm。这里是我的cmakelists.txt和ny C++代码。

OpenJDK运行时环境(AdoptOpenJDK)(build 1.8.0_232-B09)

OpenJDK 64位服务器VM(AdoptOpenJDK)(版本25.232-B09,混合模式)

cmake_minimum_required(VERSION 3.15)
project(jvm)

set(CMAKE_CXX_STANDARD 14)

include_directories(
        /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include
        /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/include/darwin
)

link_libraries(
        /System/Library/Frameworks/JavaVM.framework/JavaVM
)

add_executable(jvm main.cpp)
#include <iostream>
#include "jni.h"

using namespace std;

int main() {
    std::cout << "Hello, World!" << std::endl;
    JavaVM *jvm;
    JNIEnv *env;

    JavaVMOption jvmopt[3];
    jvmopt[0].optionString = "-Djava.compiler=NONE";
    jvmopt[1].optionString = "-Djava.class.path=./"; 

    jvmopt[2].optionString=  "-verbose:class";

    JavaVMInitArgs vmArgs;
    vmArgs.version = JNI_VERSION_1_8;
    vmArgs.nOptions = 1;
    vmArgs.options = jvmopt;
    vmArgs.ignoreUnrecognized = JNI_TRUE;

    long  flag = JNI_CreateJavaVM(&jvm, (void **) &env, &vmArgs);
    cout << flag << endl;

    jvm->DestroyJavaVM();
    return 0;
}

主函数运行的结果

JavaVM: Failed to load JVM: /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bundle/Libraries/libserver.dylib
JavaVM FATAL: Failed to load the jvm library.

共有1个答案

匡祖鹤
2023-03-14

解决此问题的步骤(javavm:未能加载jvm:.../libserver.dylib):

cd /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
cd lib

将软链接libjvm.dylib创建为libserver.dylib:

sudo ln -s ../jre/lib/server/libjvm.dylib libserver.dylib
 类似资料:
  • 我已经用JDK在我的SOLARIS SPRAC机器上更新了4个月,回到了1.6.045,直到昨天它运行得很好,没有任何问题,但昨天不幸的是,我遇到了如下致命错误,实例崩溃,作为解决方法,我重新启动了我的服务器实例,它现在运行良好。 我需要知道, 这个错误的确切根本原因是什么 Java运行时环境检测到一个致命错误: pc=0xfebd390c时的SIGSEGV(0xb),pid=2626,tid=3

  • 问题内容: 当我尝试使用Terminal中的命令使用python创建虚拟环境时,出现以下错误: 我不是第一个遇到类似错误的人-我尝试遵循此答案的建议并运行: 那没有帮助。也没有以超级用户身份运行commmand。 接下来我应该调查什么? 问题答案: 我有完全相同的错误消息。Continuum Analytics支持小组的Ray Donnelly提供了以下解决方案,为我解决了这个问题: 当您pip安

  • 我的代码的本地版本运行得很好。但是当我进行web部署时,我得到了以下异常: 无法加载文件或程序集“System. Web. WebPage. Razor, Version=2.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(HRESULT的例外:0x80131040) 相关堆栈跟踪线为 [文件加载

  • 问题内容: 我是python应用程序的新手。我正在尝试使用pyinstaller构建python GUI应用程序。我的应用程序取决于以下软件包:PyQt4,numpy,pyqtgraph,h5py。我正在使用WinPython-32bit-3.4.4.1。 我使用以下命令构建应用程序: 我用pyinstaller创建的dist目录中的exe文件启动了我的应用程序,在程序调用numpy并出现以下错误

  • 我刚刚更新了我的ubuntu和Android Studio。说明书告诉我把SDK文件夹移到它自己的文件夹中,以便安装新的Android Studio,我做到了。我和gradle有麻烦。现在我甚至无法加载我正在处理的项目。 错误消息是: 无法加载项目:com。intellij。石斑鱼类。插件。PluginManager$StartupAbortedException:初始化'com'时发生致命错误。

  • 我最近安装了智能IDEA 2018。但是,当我尝试运行 IntelliJ 时,我收到以下错误消息: 我查看了我的系统环境变量,我把它们贴在下面: 我在命令提示符下检查了我拥有的Java版本: 我检查了我的程序文件: 我还检查了我的程序文件(x86):