Java 设置R引擎挂起,没有错误

Java 设置R引擎挂起,没有错误,java,r,Java,R,我在java项目中使用rJava绘制一些图形。我使用java代码中调用的r脚本来实现这一点 进一步解释,我创建了一个java类,并在其中编写了单独的方法,以便在需要时调用r脚本。函数是这样的 public void graphing1() throws IOException { String newargs1[] = {"--no-save"}; Rengine r1 = new Rengine(newargs1, false, null); r1.eval("sour

我在java项目中使用rJava绘制一些图形。我使用java代码中调用的r脚本来实现这一点

进一步解释,我创建了一个java类,并在其中编写了单独的方法,以便在需要时调用r脚本。函数是这样的

public void graphing1() throws IOException {
    String newargs1[] = {"--no-save"};
    Rengine r1 = new Rengine(newargs1, false, null);
    r1.eval("source('test2.R')"); 
    r1.end();
}

public void fitness() throws IOException {
    String newargs1[] = {"--no-save"};
    Rengine r3 = new Rengine(newargs1, false, null);
    r3.eval("source('A.R')"); 
    r3.eval("source('B.R')"); 
    r3.end();
}
上述两种方法都在java类MyClass中

在我为其创建gui的同一项目中的另一个类中,我访问了fitness()函数,该函数运行良好。但是,当我尝试调用graphing1()函数时,它不起作用。(都是通过gui调用的) 节目暂停

Rengine r1 = new Rengine(newargs1, false, null);
没有任何通知。在这两种情况下,我都按如下方式调用了该函数:

String newargs1[] = {"--no-save"}; 
Rengine r1 = Rengine.getMainEngine(); 
if (r1 == null) 
{ r1 = new Rengine(newargs1, false, null); 
} 
第一个实例:

MyClass test=new MyClass();
    test.fitness() ;
MyClass test1 = new MyClass();
        test1.graphing1();
第二个实例:

MyClass test=new MyClass();
    test.fitness() ;
MyClass test1 = new MyClass();
        test1.graphing1();
我正在使用netbeans。我仍然是一个学习者,在R和java方面没有太多的知识

请帮我解决这个问题。
提前感谢。

通过添加/修改rengine的设置进行修复,如下所示:

String newargs1[] = {"--no-save"}; 
Rengine r1 = Rengine.getMainEngine(); 
if (r1 == null) 
{ r1 = new Rengine(newargs1, false, null); 
} 

在设置Rengine的所有实例(包括r3)中都执行了相同的操作。

通过添加/修改Rengine的设置来修复它,如下所示:String newargs1[]={--no save“};Rengine r1=Rengine.getMainEngine();如果(r1==null){r1=new-Rengine(newargs1,false,null);}