IBM MobileFirst: использование внешних файлов JAR во время сборки командной строки
Мы пытаемся использовать библиотеку org.JSON.JSONObject для интенсивной обработки json на стороне адаптера. У нас есть классы Java, которые обрабатывают данные, полученные от http-адаптеров.
mobilefirst 6.3.0 и использование Cli 20150701 сборки
(недавний).
У этой ссылки JSON нет проблем при сборке из среды студии eclipse mobilefirst.
Мы создаем эту среду в Ubuntu Linux 14.04. Ошибка в ссылке org.JSON.JSONObject..x.jar
файл, когда мы выполняем
mfp start or mfp build or mfp deploy
Есть ли способ ссылаться на этот файл JAR во время запуска mfp или сборки mfp или развертывания mfp как classpath.
Нам нужно что-то вроде
mfp -classpath "path/to/json.jar" build
пожалуйста помоги.
3 ответа
Оказывается, CLI еще не распознает файлы jar, помещенные в папку server/lib вашего проекта. Чтобы сделать это, вы можете просто отредактировать следующий файл:
[папка установки 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, если ваш сервер уже запущен) скомпилирует ваш пользовательский код Java с любыми jar-файлами, которые вы добавите в папку server/lib, включенную в classpath.
JAR для использования вашими адаптерами должны быть добавлены в директорию вашего сервера Project в папке lib. Они будут включены в ваш файл WAR проекта при сборке проекта (в Studio или задачах ant), и когда вы развернете эту WAR, она будет видна вашим адаптерам.
Я согласен с @bjustin_ibm. Спасибо за это. Хотя вышеуказанный подход работает, есть и другой способ сделать это.
Альтернативный взлом
Просто добавьте необходимые.jars в следующую папку, они будут добавлены в classpath во время запуска mfp
/home/instanceubuntu/.ibm/mobilefirst/6.3.0/server/wlp/dev/spi/third-party
Это решение более простое и не требует поддержки файла build.xml.
Надеюсь это поможет.