Javaアプリケーション内でJavascriptライブラリmultilang-extract-commentsを使用しようとしています.JavascriptエンジンとしてRhinoを使用し、RhinoとNodeJSの間のインターフェイスにRhinodoを使用することにしました。しかし、私は実際にRhinodoを使う方法を理解することはできません。私は、Rhinodo(ブランチ、jshint、および休憩のためのmavenプラグイン)を使用するプロジェクトのコードを見てきましたが、私はコードをかなり秘密にしています。私は(自分のアプリケーションのためのいくつかの編集で)次のようなコードを実装しようとしました:RhinoとRhinodoを使用したJavaのNodeJSライブラリの使用
rhinodoBuilder
.destDir(rhinodoDestDir)
.moduleFactory(nodeModuleProvider)
.consoleFactory(wrappingConsoleFactory)
.env(env)
.build(new BaseFunction() {
@Override
public Object call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args) {
Scriptable brunch = (Scriptable) ScriptableObject.callMethod(cx, scope, "require",
new Object[]{Context.javaToJS("brunch", scope)});
Scriptable options = cx.newObject(scope);
ScriptableObject.putProperty(options, "minify", minify);
System.setProperty("user.dir", userDir.getAbsolutePath());
ScriptRuntime.doTopCall(ScriptableObject.getTypedProperty(brunch, "build", Function.class),
cx, scope, thisObj, new Object[]{
options,
new BaseFunction() {
@Override
public Object call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args) {
return Undefined.instance;
}
}
});
return Undefined.instance;
}
});
(ブランチのMavenプラグインから)
をしかし、このコードは私のために動作しません。私は自分のJavascriptライブラリを見つけようとするとエラーが出るか、ライブラリを使用すると見つけることができるはずです(私は例としてfsを使います)、NullPointerExceptionを取得します。誰かがここで私が逃していることを教えてもらえますか?
注:両方Rhinodoと、それを使用するMavenプラグインは、私は、これはうまくする方法を見つけることができませんでしたMuleSoft's GitHub Repositories