LoadLibrary故障RJava

时间:2018-07-20 14:28:57

标签: java r rjava

我一直在尝试加载qdap软件包,在此处进行搜索并进行故障排除-无法找到Java。卸载并下载了Java-假设我已经完成了正确的64位版本,就像通过检查确定我拥有RStudio 64一样

> R.Version()
$platform
[1] "x86_64-w64-mingw32"

我正在使用“ R版本3.4.3(2017-11-30)”和Windows 10

遵循建议here并设置以下内容

Sys.setenv(JAVA_HOME='C:\\Program Files(x86)\\Java\\jre1.8.0_181')

运行了

find.java <- function() {
  for (root in c("HLM", "HCU")) for (key in c("Software\\JavaSoft\\Java 
Runtime Environment", 
                                              "Software\\JavaSoft\\Java 
Development Kit")) {
    hive <- try(utils::readRegistry(key, root, 2), 
                silent = TRUE)
    if (!inherits(hive, "try-error")) 
      return(hive)
  }
  hive
   }

知道了

find.java()

   > find.java()
   $`Security Baseline`
   $`Security Baseline`$`1.4.2`
   [1] "1.4.2_99"

   $`Security Baseline`$`1.5.0`
  [1] "1.5.0_99"

   $`Security Baseline`$`1.6.0`
   [1] "1.6.0_201"

   $`Security Baseline`$`1.7.0`
   [1] "1.7.0_191"

   $`Security Baseline`$`1.8.0`
  [1] "1.8.0_181"

假设这意味着现在可以找到Java。还做了检查。

> system("java -version")
   java version "1.8.0_181"
   Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
   Java HotSpot(TM) Client VM (build 25.181-b13, mixed mode, sharing)

因此,请尝试再次加载rJava。

> library(rJava)
Error: package or namespace load failed for ‘rJava’:
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 
'C:/Users/grant/OneDrive/Documents/R/win-library/3.4/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  The specified module could not be found.
   In addition: Warning message:package ‘rJava’ was built under R version 3.4.4 

我尝试遵循here中给出的建议,并且如上所示,我知道我拥有Java和Java运行时环境,并且已经遵循了一些建议的修复程序。我尚未完成PATH修复程序,因为我不确定我的PATH到底是什么,如果不正确以及如何更改PATH或将服务器置于路径中。我已经了解到了这一点,但不确定如何解密。

> Sys.getenv("Path")[1] "C:\\Rtools\\bin;C:\\Program Files\\R\\R-3.4.3\\bin\\x64;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Users\\grant\\AppData\\Local\\Microsoft\\WindowsApps;"

我也曾尝试下载并使用Dependency Walker,但并不理解。

我的假设有误吗?我的路径是否有问题,如果是,如何更改路径?或者还有什么我可以尝试的?

0 个答案:

没有答案