【问题标题】:Include jar file when creating an R package创建 R 包时包含 jar 文件
【发布时间】:2011-04-20 02:51:09
【问题描述】:

我创建了一个骨架 R 包:

lib
 jarFileHere.jar 
R
 r_code_file.R

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", "") 

但由于 java.lang.NoClassDefFoundError 导致失败。

我能够使用它来工作

.jinit
.jaddClassPath("../lib/jarFileHere.jar")

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

【问题讨论】:

    标签: java r rjava


    【解决方案1】:

    让你的结构像:

    inst
     java
      jarFileHere.jar 
    R
     r_code_file.R
    

    有关如何在包中包含 java 的示例,请查看 helloJavaWorld 包。

    还可以查看DeducerDeducerplugInExample 的来源。 Deducer 的网络手册中有一个关于在包中包含 java 代码的教程: http://www.deducer.org/pmwiki/pmwiki.php?n=Main.Development#suaptijc

    【讨论】:

      猜你喜欢
      • 2014-01-17
      • 1970-01-01
      • 2013-08-05
      • 2012-02-12
      • 1970-01-01
      • 2012-02-29
      • 2023-03-17
      • 2010-09-13
      • 1970-01-01
      相关资源
      最近更新 更多