【发布时间】:2020-12-08 02:57:56
【问题描述】:
我在 IIS 下的 ApsNetCore 2.0 Web 应用程序中使用 Apache Ignite 实体框架 Nuget 作为二级缓存(作为反向代理)。 在我的开发机器(VS2017 Windows 8.1)上一切正常。当我部署到 WindowsServer 2012 时,Ignite 在启动时崩溃:
启动应用程序时出错。 IgniteException:无法加载 jvm.dll(请指定 IgniteConfiguration.JvmDllPath 或 JAVA_HOME。) Apache.Ignite.Core.Impl.Unmanaged.Jni.JvmDll.Load(string configJvmDllPath, ILogger log)
TargetInvocationException:调用的目标已抛出异常。 System.RuntimeTypeHandle.CreateInstance(RuntimeType type, bool publicOnly, bool noCheck, ref bool canBeCached, ref RuntimeMethodHandleInternal ctor, ref bool bNeedSecurityCheck)
IgniteException:无法加载 jvm.dll(请指定 IgniteConfiguration.JvmDllPath 或 JAVA_HOME。) Apache.Ignite.Core.Impl.Unmanaged.Jni.JvmDll.Load(字符串 configJvmDllPath,ILogger 日志) Apache.Ignite.Core.Ignition.Start(IgniteConfiguration cfg) Apache.Ignite.EntityFramework.IgniteDbConfiguration.GetOrStartIgnite(IgniteConfiguration cfg) Apache.Ignite.EntityFramework.IgniteDbConfiguration..ctor()
我检查并重新咀嚼,安装 JDK,更正系统变量....一切。错误不会消失。有趣的是应用程序可以作为控制台运行。当它在 IIS(反向代理)下运行时,它会在启动时崩溃并出现上述错误。
有什么建议吗?
谢谢
【问题讨论】:
-
您好,您是否有多个 JAVA 运行时?另外你用的是什么版本?如果不是最新的,那么你可能遇到了一个已知的错误,稍后会在这里发布
-
另一个猜测 - 检查您没有 x64-x86 不匹配,并且 JRE 和 Ignite 的目标是相同的,很可能是 x64 平台。