IBM MobileFirst:在命令行构建期间使用外部jar文件

时间:2015-01-23 14:50:26

标签: ibm-mobilefirst mobilefirst-server mobilefirst-cli

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

  

mobilefirst 6.3.0并使用cli 20150701 build

(最近的一篇)。

从eclipse mobilefirst studio环境构建时,这个JSON引用没有问题。

我们正在ubuntu linux 14.04中构建这个环境。执行

时引用org.JSON.JSONObject..x.jar文件时出错
mfp start or mfp build or mfp deploy

有没有办法在mfp start或mfp build或mfp deploy作为类路径时引用此jar文件。

我们需要像

这样的东西
mfp -classpath "path/to/json.jar" build

请帮忙。

3 个答案:

答案 0 :(得分:5)

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

[cli install folder] /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代码。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我同意@bjustin_ibm。感谢那。虽然上述方法有效,但还有另一种方法。

替代黑客

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

  

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

此解决方案更简单,并且不必维护build.xml文件。

希望这有帮助。