Initialize an R package containing Java code

.jpackage initializes the Java Virtual Machine (JVM) for an R package. In addition to starting the JVM it also registers Java classes and native code contained in the package with the JVM. function must be called before any rJava functions can be used.

.jpackage(name, jars='*', morePaths='', nativeLibrary=FALSE, lib.loc=NULL)
name of the package. It should correspond to the pkgname parameter of .onLoad or .First.lib function.
Java archives in the java directory of the package that should be added to the class path. The paths must be relative to package's java directory. A special value of '*' adds all .jar files f
vector listing any additional entries that should be added to the class path.
a logical determining whether rJava should look for native code in the R package's shared object or not.
a character vector with path names of R libraries, or NULL (see system.file and examples below).

.jpackage initializes a Java R package as follows: first the JVM is initialized via .jinit (if it is not running already). Then the java directory of the package is added to the class path. Then .jpackage prepends jars with the path to the java directory of the package and adds them to the class path (or all .jar files if '*' was specified). Finally the morePaths parameter (if set) is passed to a call to .jaddClassPath.

Therefore the easiest way to create a Java package is to add .jpackage(pkgname, lib.loc=libname) in .onLoad or .First.lib, and copy all necessary classes to a JAR file(s) which is placed in the inst/java/ directory of the source package.

If a package needs special Java parameters, "java.parameters" option can be used to set them on initialization. Note, however, that Java parameters can only be used during JVM initialization and other package may have intialized JVM already.


  • The return value is an invisible TRUE if the initialization was successful.

See Also


  • .jpackage
.onLoad <- function(libname, pkgname) {
  .jpackage(pkgname, lib.loc=libname)
Documentation reproduced from package rJava, version 0.9-1, License: GPL-2

Community examples

Looks like there are no examples yet.