-
Separating the code bases into a Java part and an R part makes the code less transparent and harder to contribute to. It also adds quite a bit of interfacing code (and headaches).
-
rJava is brittle
-
Some have trouble getting it to find their Java installation
-
There are issues with 32/64 bit R versus 32/64 bit Java (especially on Windows)
-
rJava breaks when JAVA_HOME is a JDK instead of a JRE (even though other software expects it to be a JDK)
-
-
rJava objects can not be dump()-ed (etc.), breaking common R functionality such as saving the workspace between sessionsj
-
rJava catches certain signals for you, so e.g. CTRL-C would end your session, rather than interrupt the currently running command. Even if the current command did not run any Java code.
- The Java dependency makes bundling the R package with software as open meta-analyst more difficult.
-
There are problems handling concurrent connections with RServe when rJava is present (Joël?).
-
Instantiating a new JVM for every RServe session is a significant run-time and memory overhead.
-
Provisioning a server with Java is an annoyance.