Необходимо включить пакеты org.json в портлет MVC для анализа JSON в Liferay 7 - PullRequest
1 голос
/ 27 июня 2019

У меня есть портлет MVC, созданный с использованием gradle, я хочу проанализировать в нем JSON, поэтому я включил следующие пакеты, как показано ниже:

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.simple.JSONValue;

Также я включил org.json в файл build.gradle каквы можете увидеть ниже:

dependencies {
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "3.0.0"
compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0"
compileOnly group: "javax.portlet", name: "portlet-api", version: "3.0.0"
compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
compileOnly group: "jstl", name: "jstl", version: "1.2"
compileOnly group: "org.osgi", name: "osgi.cmpn", version: "6.0.0"
//compile group: 'com.squareup.okhttp', name: 'okhttp', version: '2.6.0'
compile group: 'org.json', name: 'json', version: '20180813'
compile group: 'org.apache.clerezza.ext', name: 'org.json.simple', version: '0.4'
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5'
}

Компиляция прошла успешно, но при развертывании в Liferay (7) Iam выдает следующую ошибку:

При развертывании в Liferay появляется эта ошибка:

org.osgi.framework.BundleException: Could not resolve module: mvc [952]_  Unreso
lved requirement: Import-Package: org.json; version="[20180813.0.0,20180814.0.0)

Должен ли я также включить пакет org.json в liferay?Если да, где я должен добавить это?

Не удалось добавить новые пакеты. Пожалуйста, кто-нибудь поможет мне в этом.

1 Ответ

0 голосов
/ 28 июня 2019

Когда вы объявляете зависимости времени сборки для библиотек, которые не доступны в Liferay из коробки (будь то для самой библиотеки или для конкретной версии), компилятор будет счастлив, и bnd сгенерирует (если требуется) зависимости времени выполнения в Manifest.mf вашего модуля.

Если действительно эти зависимости приводят к зависимостям времени выполнения, вам придется сделать библиотеки доступными для среды выполнения OSGi (в данном случае Liferay). Вы делаете это так же, как разворачиваете свои собственные модули: просто поместите их в папку Liferay deploy.

...