0
Java 프로그램을 사용하여 solnp를 실행하려고합니다. 이 작동하는지 테스트하려면 benchmarkids()
함수를 실행하려고합니다. 그러나 패키지에 대한 참조를 해결할 수는 없습니다. 내가 http://packages.renjin.org/package/org.renjin.cran/Rsolnp/에서 Rsolnp 패키지를 확인했고, 내가 말할 수있는 한, 그것이 renjin에로드 될 수 있다는 것을 알았다.Renjin을 사용하는 Java의 Rsolnp
나는 메이븐 필요한 패키지를 추가 한 : 나는 내 프로젝트에 직접 패키지를 추가하려고했습니다
<dependency>
<groupId>org.renjin.cran</groupId>
<artifactId>Rsolnp</artifactId>
<version>1.16-b28</version>
</dependency>
(I 이클립스 네온을 사용하고 있습니다)를 여전히 작동하지 않았다.
오류 내가 갖는 :
org.renjin.eval.EvalException: Could not load package rsolnp; tried org.renjin.bioconductor:rsolnp, org.renjin.cran:rsolnp
at org.renjin.primitives.packaging.NamespaceRegistry.getNamespace(NamespaceRegistry.java:160)
at org.renjin.primitives.packaging.NamespaceRegistry.getNamespace(NamespaceRegistry.java:115)
at org.renjin.primitives.packaging.Packages.library(Packages.java:41)
at org.renjin.primitives.R$primitive$library.doApply(R$primitive$library.java:73)
at org.renjin.primitives.R$primitive$library.apply(R$primitive$library.java:34)
at org.renjin.primitives.special.InternalFunction.apply(InternalFunction.java:45)
at org.renjin.eval.Context.evaluateCall(Context.java:302)
at org.renjin.eval.Context.evaluate(Context.java:222)
at org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:38)
at org.renjin.eval.Context.evaluateCall(Context.java:302)
at org.renjin.eval.Context.evaluate(Context.java:222)
at org.renjin.eval.Context.evaluate(Context.java:163)
at org.renjin.sexp.Closure.doApply(Closure.java:83)
at org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:73)
at org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:58)
at org.renjin.sexp.Closure.apply(Closure.java:78)
at org.renjin.eval.Context.evaluateCall(Context.java:302)
at org.renjin.eval.Context.evaluate(Context.java:222)
at org.renjin.eval.Context.evaluateExpressionVector(Context.java:285)
at org.renjin.eval.Context.evaluate(Context.java:220)
at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:168)
at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:127)
at test.java.RsolnpTest.testRsolnp(RsolnpTest.java:55)
그리고 마지막으로, 코드 내가 전화하려고 해요 : R의
import javax.script.*;
import org.renjin.script.*;
// some other tests to see if 10 * 2 in R works.
public void testRsolnp()
{
RenjinScriptEngineFactory factory = new RenjinScriptEngineFactory();
ScriptEngine engine = factory.getScriptEngine();
try
{
engine.eval("library(rsolnp); benchmarkids();");
}
catch (ScriptException e)
{
e.printStackTrace();
}
// testing code.
}