标签: rjava

创建R包时包含jar文件

我创建了一个骨架R包:

lib
 jarFileHere.jar 
R
 r_code_file.R
Run Code Online (Sandbox Code Playgroud)

r_code_file.R试图引用在类文件jarFileHere.jar:

library("rJava")
library("rjson")

.onLoad <- function(libname, pkgname) {
  .jpackage(pkgname, lib.loc=libname)
}

.onLoad("packagename", "../lib/jarFileHere.jar")

.jnew("com/test/ClassHere", "") 
Run Code Online (Sandbox Code Playgroud)

但是由于java.lang.NoClassDefFoundError我失败了.

我能够使用它

.jinit
.jaddClassPath("../lib/jarFileHere.jar")
Run Code Online (Sandbox Code Playgroud)

但是rJava文档明确表示不使用.jinit,因为当代码用作包时它不起作用.

java r rjava

8
推荐指数
1
解决办法
3737
查看次数

R studio未能使用rJava lib并且失败了javareconf

我在自己的服务器上运行Rstudio.Java安装了很好的java_home和bin.R已安装.rJava已安装.

试图做命令:library("rJava")但有问题libjvm.so,按照Rstudio的建议,我sudo R CMD javareconf用root 做了.

这是我的javareconf的输出:

Java interpreter : /home/scoremd/jdk1.7.0_03/jre/bin/java
Java version : 1.7.0_03
Java home path : /home/scoremd/jdk1.7.0_03
Java compiler : /home/scoremd/jdk1.7.0_03/bin/javac
Java headers gen.: /home/scoremd/jdk1.7.0_03/bin/javah
Java archive tool: /home/scoremd/jdk1.7.0_03/bin/jar
NOTE: Your JVM has a bogus java.library.path system property!

Trying a heuristic via sun.boot.library.path to find jvm library...
Java library path: $(JAVA_HOME)/jre/lib/amd64:$(JAVA_HOME)/jre/lib/amd64/server
JNI linker flags : -L$(JAVA_HOME)/jre/lib/amd64 -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm
JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
Run Code Online (Sandbox Code Playgroud)

似乎找到java库路径存在问题...但我的java工作正常,R也是.

我没有收到来自RStudio支持和社区的任何解决方案(告诉我要求......).

r rjava rstudio

8
推荐指数
1
解决办法
4362
查看次数

rJava泛型类型

我一直在使用rJava包,但由于似乎rJava不知道Java泛型类型,因此我很难用泛型类型参数创建java对象.如果我有一个java类,如:

public class A<T> {
    private B<T> b;
    public A(B<T> b) {
        this.b = b;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想.jnew()通过传递已经创建的B对象(使用实例化的类型参数)从R会话创建一个A对象,但是rJava总是给出错误:

java.lang.NoSuchMethodError: <init>
Run Code Online (Sandbox Code Playgroud)

这有什么工作吗?

java r rjava

8
推荐指数
1
解决办法
914
查看次数

R,加载rJava错误

我在macOS sierra(10.12.5)上运行R(版本3.4.0),我正在尝试使用需要使用rJava库的xlsx库.

当我尝试library(rJava)在R控制台中加载rJava时(如果在RStudio或终端中没有区别),我收到以下错误消息,我无法理解:

Fehler: package or namespace load failed for ‘rJava’:
 .onLoad in loadNamespace() für 'rJava' fehlgeschlagen, Details:
  Aufruf: dyn.load(file, DLLpath = DLLpath, ...)
  Fehler: kann shared object '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so' nicht laden:
  dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

谷歌搜索问题我发现一些帖子有点类似(但每次稍微不同的问题),这个SO问题是其中最有希望的.

由于提议的步骤需要适应我的情况,而且我是一个新手,我无法实现它们.我能做什么?

附加信息:

shell命令java -version返回:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

并且shell命令R CMD javareconf返回:

Java interpreter …
Run Code Online (Sandbox Code Playgroud)

java r rjava

8
推荐指数
1
解决办法
1万
查看次数

在 R 3.6 上为 ubuntu 仿生海狸安装 rJava 时出现“无法运行简单的 JNI 程序”错误消息

我有一个非常常见的问题,即 rJava 无法在 Ubuntu 上正确安装。此问题已在此处此处此处等多个地方讨论过。

基本问题是,在安装rJava包时,产生以下错误信息

configure: error: Unable to run a simple JNI program. Make sure you have configured R with Java support (see R documentation) and check config.log for failure reason.
Warning in system(cmd) : error in running command
ERROR: configuration failed for package ‘rJava’
* removing ‘/home/jonno/R/x86_64-pc-linux-gnu-library/3.6/rJava’
Run Code Online (Sandbox Code Playgroud)

这个问题有各种密切相关的解决方案。它们中的大多数sudo R CMD javareconf用于为 R 配置 Java(也是一个-e变体)。有些人建议JAVA_HOME在环境变量中设置路径(其他人说不要)。其他人建议卸载并重新安装 R,而其他人建议从 …

java ubuntu r rjava ubuntu-18.04

8
推荐指数
1
解决办法
2858
查看次数

错误:XLConnect 的包或命名空间加载失败

我正在 R studio 中安装 XLConnect 库,但无法这样做。

我知道这个包有 java 依赖,我的 R 软件和 java 都是 64 位的。此外,两者都已正确配置。在安装 XLConnect 之前,我还安装了 rJava 包。该软件包运行正常,但现在出现此错误。

library(XLConnect)
Run Code Online (Sandbox Code Playgroud)

错误:“XLconnect”的包或命名空间加载失败:
.onload 在 XLConnect 的 loadNamespace() 中失败,详细信息:
调用。System2("cat",c("/etc/*-release"), stdout =TRUE, stderr = TRUE) 错误:'找不到“猫”。

请帮我。

windows r cat rjava xlconnect

8
推荐指数
1
解决办法
3907
查看次数

如何在M1架构的Mac上安装rJava包

当我使用 M1 架构的 Mac 时,我在 R 中安装软件包时遇到了糟糕的情况。

\n

这是我到目前为止所遵循的步骤

\n
    \n
  1. 安装 Java https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jdk,使用版本 Zulu: 16.30.19

    \n
  2. \n
  3. install.packages("rJava")在R中

    \n
  4. \n
  5. R CMD javareconf在终端

    \n
  6. \n
  7. dyn.load("/Library/Java/JavaVirtualMachines/zulu-16.jdk/Contents/Home/lib/server/libjvm.dylib")在R中

    \n
  8. \n
  9. library(rJava)

    \n
  10. \n
\n

这是我的错误

\n
Error: package or namespace load failed for \xe2\x80\x98rJava\xe2\x80\x99:\n .onLoad failed in loadNamespace() for \'rJava\', details:\n  call: dyn.load(jvm, FALSE)\n  error: unable to load shared object \'/Library/Java/JavaVirtualMachines/zulu-16.jdk/Contents/Home/lib/server/libjvm.dylib\':\n  dlopen(/Library/Java/JavaVirtualMachines/zulu-16.jdk/Contents/Home/lib/server/libjvm.dylib, 10): no suitable image found.  Did find:\n    /Library/Java/JavaVirtualMachines/zulu-16.jdk/Contents/Home/lib/server/libjvm.dylib: mach-o, but wrong architecture\n    /Library/Java/JavaVirtualMachines/zulu-16.jdk/Contents/Home/lib/server/libjvm.dylib: mach-o, but …
Run Code Online (Sandbox Code Playgroud)

java macos r rjava

8
推荐指数
2
解决办法
4597
查看次数

如何让rJava 0.9-3在Oracle Java 1.7上运行OS X 10.7.4?

是否有人设法让rJava 0.9-3使用Oracle Java 1.7在OS X 10.7.4上工作?

R version 2.15.2 (2012-10-26) -- "Trick or Treat" Platform
x86_64-apple-darwin9.8.0/x86_64 (64-bit)

java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我已经使用install.packages函数和使用R 2.15.2的命令行安装来安装rJava.我没有得到任何错误.

$ R CMD INSTALL rJava
* installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’
* installing *binary* package ‘rJava’ ...

* DONE (rJava)
$ 
Run Code Online (Sandbox Code Playgroud)

如果我使用Java首选项将1.7放在列表中,但保留1.6"on",则rJava始终启动1.6.

如果我使用Java Preferences先放1.7并关闭1.6,rJava会这样做:

> library(rJava)
> .jinit()
JavaVM: requested Java version ((null)) not available. Using Java at "" instead.
JavaVM: Failed to load …
Run Code Online (Sandbox Code Playgroud)

java macos r rjava

7
推荐指数
1
解决办法
8694
查看次数

将 rJava 加载到 R 时如何在 Windows 10 中设置 JAVA_HOME 和 PATH

加载 rJava 时,出现以下错误消息:

Error in get(Info[i, 1], envir = env) : lazy-load database 'C:/Users/dell_x/Documents/R/win-library/3.3/rJava/R/rJava.rdb' is corrupt
Run Code Online (Sandbox Code Playgroud)

我尝试通过执行以下所有操作将 JAVA_HOME 设置为 jre 目录:

Sys.setenv(JAVA_HOME='C:\\Program Files\\Java')
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre1.8.0_121')
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre1.8.0_121\\bin')
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre1.8.0_121\\bin\\server')
Run Code Online (Sandbox Code Playgroud)

然而,它们似乎都不起作用。在此之前,我使用的是 32 位版本的 Java,并尝试将其设置为 32 位版本(Program Files (x86))。32 位版本也无法运行。

这是我查询 PATH 时得到的结果:

> Sys.getenv("PATH")
[1] "C:\\Program Files\\R\\R-3.3.0\\bin\\x64;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\WIDCOMM\\Bluetooth Software\\;C:\\Program Files\\WIDCOMM\\Bluetooth Software\\syswow64;C:\\Program Files (x86)\\Common Files\\Roxio Shared\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio Shared\\10.0\\DLLShared\\;C:\\Program Files (x86)\\Skype\\Phone\\;C:\\Program Files (x86)\\Calibre2\\;C:\\Program Files\\Git\\cmd;C:\\Users\\dell_x\\AppData\\Local\\Microsoft\\WindowsApps;"
Run Code Online (Sandbox Code Playgroud)

我安装了最新版本的 Java 32 位和 64 位。我想要的只是能够在 R 中使用 open rJava。我之前提到的所有路径都不起作用(将 Java 库加载到 R 时仍然出现错误)并且我找不到特定的 jre 文件夹或要设置路径的文件。

java windows r xlsx rjava

7
推荐指数
1
解决办法
2万
查看次数

无法在ubuntu服务器中安装rJava依赖项

我正在尝试安装一些软件包(mailR),以便能够通过邮件将错误和消息传达给我的用户,并通过rJdbc连接到HIVE服务器,但是随着步骤的完成,安装rJava依赖关系变得越来越复杂。

第一个错误是要求rJava软件包,因此我尝试安装rJava:

install.packages("rJava")

Installing package into ‘/home/joe/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/rJava_0.9-11.tar.gz'
Content type 'application/x-gzip' length 675188 bytes (659 KB)
==================================================
downloaded 659 KB

* installing *source* package ‘rJava’ ...
** package ‘rJava’ successfully unpacked and MD5 sums checked
** using staged installation
checking for gcc... gcc -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for …
Run Code Online (Sandbox Code Playgroud)

r rjava

7
推荐指数
0
解决办法
224
查看次数

标签 统计

r ×10

rjava ×10

java ×7

macos ×2

windows ×2

cat ×1

rstudio ×1

ubuntu ×1

ubuntu-18.04 ×1

xlconnect ×1

xlsx ×1