2

我们正在尝试使用 org.JSON.JSONObject 库在适配器端进行一些密集的 json 处理。我们有 Java 类来处理从 http 适配器接收到的数据。

mobilefirst 6.3.0 并使用 cli 20150701 构建

(最近的一个)。

从 eclipse mobilefirst 工作室环境构建时,此 JSON 引用没有问题。

我们正在 ubuntu linux 14.04 中构建这个环境。执行时引用org.JSON.JSONObject..x.jar文件出错

mfp start or mfp build or mfp deploy

有没有办法在 mfp 启动或 mfp 构建或 mfp 部署期间引用此 jar 文件作为类路径。

我们需要有类似的东西

mfp -classpath "path/to/json.jar" build

请帮忙。

4

3 回答 3

5

事实证明,CLI 还不能识别放置在项目的 server/lib 文件夹中的 jar。为了完成这项工作,您可以对以下文件进行简单的编辑:

[cli 安装文件夹]/mobilefirst-cli/node_modules/generator-worklight-server/lib/build.xml

在第 123 行或附近,添加如下所示的第三个文件集元素:

<!-- Classpath for server runtime libraries used when building the WAR -->    
<path id="server-classpath">
    <fileset dir="${worklight.jars.dir}" includes="worklight-jee-library.jar" />
    <fileset dir="${worklight.server.install.dir}/wlp/dev" includes="**/*.jar" />

    <!-- add server/lib folder to classpath -->
    <fileset dir="${worklight.app.dir}/../server/lib" includes="**/*.jar" />
</path>

之后,运行“mfp start”(如果您的服务器已经在运行,则运行“mfp restart”)将使用您添加到类路径中包含的 server/lib 文件夹的任何 jar 来编译您的自定义 Java 代码。

于 2015-01-23T20:48:06.690 回答
1

适配器使用的 JAR 应添加到项目的服务器目录中的lib文件夹中。在构建项目时(在 Studio 中或通过 ant 任务),它们将包含在您的 Projects WAR 文件中,并且当您部署该 WAR 时,它将对您的适配器可见。

于 2015-01-23T18:45:47.713 回答
0

我同意@bjustin_ibm。感谢那。虽然上述方法有效,但还有另一种方法可以做到这一点。

另类黑客

只需将所需的 .jars 添加到以下位置,它会在 mfp 启动期间添加到类路径中

/home/instanceubuntu/.ibm/mobilefirst/6.3.0/server/wlp/dev/spi/third-party

这个解决方案更简单,实际上不需要维护 build.xml 文件。

希望这可以帮助。

于 2015-01-24T07:23:15.457 回答