1

在 Fusion 的 Javascript Indexing Stage 中,我们可以导入 Java 类并在 javascript 中运行它们,如下所示:

var imports = new JavaImporter(java.lang.String);
with (imports) {
    var name = new String("foo"); ...
}

如果我们定制了复杂的 Java 类,如何在 Fusion 中包含编译 jar,以便在 Javascript Indexing Stages 中导入该类使用?

我们可以在哪里存储 Javascript Indexing Stage 的配置值以供查找以及如何检索它们?

我在想这样的事情:

var imports = new JavaImporter(mycompany.com.custompkg.SomeParser);
with (imports) {
    var some_config = ResourceManager.GetString("key");
    var sp = new SomeParser(some_config); ...
}

问候, 开尔文

4

2 回答 2

2

从 Fusion 4.x 开始,API 和连接器开始使用 jar 的公共位置,即 apps/libs 。这是放置自定义罐子的合理地方,但也必须告知服务有关新罐子的信息。这是在两个地方完成的

/jetty/connectors-classic/webapps/connectors-extra-classpath.txt
./jetty/api/webapps/api-extra-classpath.txt

此外,索引文档可以由 api 服务处理,因此即使 jar 仅用于索引,也可以在两个类路径中注册。最后,反弹服务。

于 2019-04-10T15:49:14.230 回答
0

将 Java 类文件作为 jar 文件放在 $FUSION_HOME/apps/jetty/api/webapps/api/WEB-INF/lib/ 中。

我用它来访问我的自定义类。var SomeParser = Java.type('mycompany.com.custompkg.SomeParser');

于 2016-04-22T15:14:41.223 回答