2016-03-25 4 views
1

Я разрабатываю некоторые функции для Liferay 7. Я знаю, что все еще находится в бета-версии, но мне приходится сталкиваться с некоторыми проблемами с зависимостями пакета OSGi. Когда я пытаюсь развернуть проект обслуживания, возникла ошибка при развертыванииСервисный модуль Liferay 7 Неразрешенные требования

Неразрешенные требования: Импорт-пакет: com.liferay.asset.kernel.model; version = "[1.0.0,2.0.0)"

Anda то же самое происходит с другими подобными пакетами импорта expando.

Вопрос в том, что в моем Eclipse Mars нет ошибки, и в зависимостях я могу найти классы внутри Jar com.liferay.portal.kernel, и я не знаю, почему это ошибка.

В моей build.gradle у меня есть эта зависимость

компиляции 'com.liferay.portal: com.liferay.portal.kernel: 2.1.0'

Мой BND файл содержит next:

Bundle-Version: 1.0.0 
Liferay-Service: true 
Require-Capability: liferay.extender;filter:="(&(liferay.extender=spring.extender)(version>=1.0)(!(version>=3.0)))" 
Liferay-Require-SchemaVersion: 1.0.0 
Liferay-Spring-Context: META-INF/spring 
-sources: true 
Import-Package: \ 
    com.liferay.portal.service;version="7.0.0",\ 
    com.liferay.portal.kernel;version='2.1.0',\ 
    org.osgi.framework;version="[1.7,2)",\ 
    * 

Кто-нибудь знает, где искать, где находятся зависимости от времени выполнения от 1.0.0 до 2.0.0?

Любая помощь будет приветствоваться, потому что я теряю много времени, и я действительно начинаю в этом.

Я думаю, что я справляюсь с этим, но возникает новая проблема ... Когда я делаю buildService в моем сервисном проекте, он создает все, но проблема в том, что он создает ошибку в SqlUpdateFactoryUtil, заданные параметры - это не то же самое, что API для 7.0, так что ошибка брошена является:

SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(dataSource, 
                ^
    required: DataSource,String,int[] 
    found: DataSource,String 
    reason: actual and formal argument lists differ in length 

так что я думаю, что служба строитель плагин не синхронизироваться с версией моих банок

ответ

0

Вы используете версию 2.1.0 артефакта com.liferay.portal:com.liferay.portal.kernel.

Однако, кто-то объявляет зависимости от выполнения этого артефакта с версией [1.0.0, 2.0.0]: больше или равно 1 и строго меньше 2. Эта версия не может быть разрешена, так как 2.1 больше чем 2.

Вы должны проверить свой манифест, чтобы исправить эти зависимости, или, лучше, использовать инструменты (как bnd) для создания этого манифеста.

+0

Спасибо за ответ ... Я не знаю, где искать. Я добавляю содержимое файла bnd. У меня есть оболочка gogo, но не знаю, где обновлять зависимости или что-то еще. – Miguel

1

Ответ на себя и всех тех, кто сталкивается с той же проблемой.

Пункт представляет собой совокупность вопросов.

  • Elipse Mars автоматически не обновляет зависимости Jars, вам необходимо использовать опцию «Gradle -> Refresh Gradle Project».
  • Плохое использование зависимостей. Поскольку я новичок, я использую неправильные зависимости и пытаюсь импортировать ядро, но portal-service 7.0.0 достаточно.

Теперь все мои три проекта (служба, api и сеть) правильно развернуты и активны.

Теперь я столкнулся с другой проблемой, пытаясь содержать в одном и том же защищенном множестве кластеров MVCPortlet. Но это другая война.