2013-11-28 2 views
0

Любой метод, который я пишу в *LocalServiceImpl, не найден в *LocalServiceUtil. Я каждый раз запускаю сервис-конструктор и ничего. Методы распознаются на локальном сервере, но не на рабочем сервере. Все старые методы работают, только новые письменные методы не найдены. В чем может быть проблема? Благодарю. Я использую Liferay 6.1.1 GA2 на обоих серверах.Liferay: Любой метод написан в * LocalServiceImpl не найден в * LocalServiceUtil

это мой строитель служба войти

 [echo] Loading jar:file:/C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties 
    [echo] 28.11.2013 08:30:46 com.liferay.portal.kernel.log.Jdk14LogImpl info 
    [echo] INFO: Global shared lib directory /C:/sbl-workspace-1-plugins-sdk/liferay-plugins-sdk-6.1.1/lib/ 
    [echo] 28.11.2013 08:30:46 com.liferay.portal.kernel.log.Jdk14LogImpl info 
    [echo] INFO: Global lib directory /C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/lib/ext/ 
    [echo] 28.11.2013 08:30:46 com.liferay.portal.kernel.log.Jdk14LogImpl info 
    [echo] INFO: Portal lib directory /C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/ 
    [echo] 28.11.2013 08:30:47 com.liferay.portal.kernel.log.Jdk14LogImpl info 
    [echo] INFO: Properties for portal loaded from [file:/C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/classes/portal-ext.properties, jar:file:/C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties, jar:file:/C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties] 
    [echo] Loading jar:file:/C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties 
    [echo] Loading jar:file:/C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties 
    [echo] Loading file:/C:/sbl-workspace-1/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/WEB-INF/classes/portal-ext.properties 
    [echo] Building Menus 
    [echo] Building MenusImages 
    [echo] Building Sections 
    [mkdir] Created dir: C:\sbl-workspace-1-plugins-sdk\liferay-plugins-sdk-6.1.1\portlets\AdminSBL-portlet\docroot\WEB-INF\service-classes 
    compile-java: 
    [copy] Copied 65 empty directories to 65 empty directories under C:\sbl-workspace-1-plugins-sdk\liferay-plugins-sdk-6.1.1\portlets\AdminSBL-portlet\docroot\WEB-INF\service-classes 
    [javac] Compiling 398 source files to C:\sbl-workspace-1-plugins-sdk\liferay-plugins-sdk-6.1.1\portlets\AdminSBL-portlet\docroot\WEB-INF\service-classes 
     [zip] Building zip: C:\sbl-workspace-1-plugins-sdk\liferay-plugins-sdk-6.1.1\portlets\AdminSBL-portlet\docroot\WEB-INF\lib\AdminSBL-portlet-service.jar 
     [delete] Deleting directory C:\sbl-workspace-1-plugins-sdk\liferay-plugins-sdk-6.1.1\portlets\AdminSBL-portlet\docroot\WEB-INF\service-classes 
     BUILD SUCCESSFUL 
     Total time: 37 seconds 

РЕШИТЬ: Он работал как yannicular и Панкай Kathiriya сказал. Спасибо .....

+0

Также проверьте номер сборки, правильно обновленный в service.properties –

+0

Должен ли я поставить более высокий номер сборки? –

+0

Да, попробуй. Кроме того, если вы можете выполнить чистую развёртывание [delete], тогда перейдите к нему –

ответ

3

Скорее всего, ваша служба-сбои терпит неудачу. Вы все еще можете видеть старые методы, потому что вы все еще используете старый .jar, последний из которых был успешно создан. Мой совет - проверить журнал службы сборки и найти ошибку, которая не выполняет задачу построения службы.

Редактировать: Иногда конфликты с механизмом развертывания портала или динамическая загрузка классов могут приводить к загрузке классов из старой служебной банки , Если вы уверены, что ваш веб-приложение является законным, но не развертывание, отказоустойчивая процедура, чтобы убедиться, развертывание приложения является:

  1. Выключите портал
  2. Удалить папку приложения из портала WebApps.
  3. Удалить папку приложения с работы/Каталина/localhost
  4. Скопируйте свежий webapp в/deploy и запустите портал.

Подсказка: если вы развертываете удаленный портал, хорошо скопировать ваш .war в удаленную систему, а затем переместить его в папку/deploy Folder. Иначе, если ваше соединение будет медленным, развертывание может начаться до того, как будет завершена передача .war, сбой не выполняется, и ваше приложение останется в черном списке, пока вы не перезапустите свой tomcat.

+0

ваш журнал выглядит нормально. Похоже, что сбой обновления или перезаписи .jar Можете ли вы попытаться удалить папку приложения портлета внутри tomcat/webapps и попробовать перестроить? – yannicuLar

+0

Сколько ущерба может это сделать? –

+0

никаких повреждений вообще. Я вынужден делать это много раз. Это папка, в которой извлечен ваш развернутый портлет. Если он пуст, Liferay Server попытается создать его снова – yannicuLar

0

Не могли бы вы проверить видимость ваших методов: они общедоступны ?

Сервисный строитель создает только * LocalServiceUtil методы для общедоступных методов * LocalServiceImpl.

Было бы полезно увидеть ваш метод * LocalServiceImpl, чтобы попытаться понять, что происходит.

0

Ну, вы должны удалить service.jar, который создается при создании сервиса. Теперь снова создайте service.xml и проверьте, что ваши методы будут заполнены под классом util.

Попробуйте поместить этот файл .jar под ваш Tomcat_home \ lib \ ext, если он разделяется несколькими портлетами.

0

Это старая проблема, но до сих пор нет принятого ответа. Как сказал this question, эта старая проблема мне пришла в голову. В случае, если кто-то другой наткнется на него, вот догадка о том, что могло бы пойти не так (из моего ответа на другой вопрос):

Прежде всего: проверьте исходный код для *LocalServiceUtil и убедитесь, что он действительно не работает имеют реализацию метода. Если метод существует, вам придется искать в другом месте.Вот где:

При развертывании портлета вы можете получить API несколькими способами: кто-то, возможно, развернул плагин, содержащий службы, на пути глобального класса tomcat. Если вы не обновите , что один, вы, вероятно, не увидите свои обновления.

Кроме того, кто-то, возможно, скопировал более старую версию вашего плагина в свой собственный плагин - естественно, не видя никаких обновлений, если они не обновят свою зависимость. Проверьте также измененные имена файла jar. Также проверьте классы: Некоторым людям нравится добавлять скомпилированные классы Java в свои исходные каталоги, заканчивая двумя различными реализациями одного и того же кода.