标签: liferay-7

Liferay 7 CE-Osgi模块(Liferay MVC Portlet)无法加载javascript文件

我创建了一个新的liferay osgi模块。我的控制器具有以下标签:

@Component(
immediate = true,
property = {
    "com.liferay.portlet.display-category=Bla Modules",
    "com.liferay.portlet.instanceable=true",
    "javax.portlet.display-name=EventCalendar",
    "javax.portlet.init-param.template-path=/",
    "javax.portlet.expiration-cache=0",
    "com.liferay.portlet.footer-portlet-javascript=fullcalendar_year.js,/js/custom/main.js",
    "com.liferay.portlet.header-portlet-css=/css/fullcalendar_year.css,/css/fullcalendar.css",
    "javax.portlet.init-param.view-template=/view.jsp",
    "javax.portlet.resource-bundle=content.Language",
    "javax.portlet.security-role-ref=administrator,power-user,user"
},
service = Portlet.class
Run Code Online (Sandbox Code Playgroud)

但是财产

com.liferay.portlet.footer-portlet-javascript

不加载所有js文件,仅在调用一个文件的情况下才加载文件,如果不止一个,则不加载任何文件。

这是一个错误还是我做错了什么?

javascript osgi portlet liferay-7

1
推荐指数
1
解决办法
1708
查看次数

Gradle说"MyPortlet不能分配给指定的服务com.liferay.portal.kernel.model.Portlet"

我得到这个Gradle错误:

> Task :jar
[Class my.MyPortlet is not assignable to specified service com.liferay.portal.kernel.model.Portlet]
Run Code Online (Sandbox Code Playgroud)

...这个极简主义的Liferay 7 portlet(官方文档的简化):

package my;

import com.liferay.portal.kernel.model.Portlet;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import org.osgi.service.component.annotations.Component;

@Component(
    service = Portlet.class
)
public class MyPortlet extends MVCPortlet {
}
Run Code Online (Sandbox Code Playgroud)

在调试模式下运行Gradle并没有给我更多线索:

[aQute.bnd.osgi.Builder] parseClassFile(): path=javax.portlet.PortletRequest resource=:/home/nico/.gradle/caches/modules-2/files-2.1/javax.portlet/portlet-api/2.0/1cd72f2a37fcf8ab9893a9468d7ba71c85fe2653/portlet-api-2.0.jar(javax/portlet/PortletRequest.class):
[aQute.bnd.osgi.Builder] end
[aQute.bnd.osgi.Builder] begin com.liferay.ant.bnd.npm.NpmAnalyzerPlugin@39735dcf
[aQute.bnd.osgi.Builder] end
[aQute.bnd.osgi.Builder] begin com.liferay.ant.bnd.resource.bundle.ResourceBundleLoaderAnalyzerPlugin@4e811a19
[aQute.bnd.osgi.Builder] end
[aQute.bnd.osgi.Builder] parseClassFile(): path=my/MyPortlet.class resource=/home/nico/my/build/classes/java/main/my/MyPortlet.class
[aQute.bnd.osgi.Builder] begin com.liferay.ant.bnd.sass.SassAnalyzerPlugin@526cd630
[aQute.bnd.osgi.Builder] end
[aQute.bnd.osgi.Builder] begin com.liferay.ant.bnd.service.ServiceAnalyzerPlugin@a73dc4
[aQute.bnd.osgi.Builder] end
[aQute.bnd.osgi.Builder] begin com.liferay.ant.bnd.social.SocialAnalyzerPlugin@2399853a
[aQute.bnd.osgi.Builder] end
[aQute.bnd.osgi.Builder] begin aQute.lib.spring.SpringComponent@650e1282
[aQute.bnd.osgi.Builder] end
[aQute.bnd.osgi.Builder] …
Run Code Online (Sandbox Code Playgroud)

osgi portlet gradle liferay-7

1
推荐指数
1
解决办法
1204
查看次数

方法 setSerial(boolean serial) 在 Liferay 7 中消失了

我正在从事从 Liferay 6.2 到 Liferay 7.1 的代码迁移项目。在 Liferay 6.2 中有一个BaseBackgroundTaskExecutor类,包含一个方法setSerial(boolean serial)。但是在 Liferay 7.1 中,该方法消失了,我找不到任何替代品。

这里有人熟悉我的问题或 Liferay 并且可以为我提供一些指导吗?

问候,迈克尔

liferay liferay-7

1
推荐指数
1
解决办法
107
查看次数

如何解决 java.lang.LinkageError: 加载器约束冲突

每当我在 Eclipse 中部署 Liferay portlet 的 war 文件时,我都会收到以下错误。任何人都可以帮助我知道为什么会发生这种情况以及如何解决它。

java.lang.LinkageError: loader constraint violation: when resolving overridden method "com.liferay.portal.spring.extender.internal.context.ModuleBeanFactoryPostProcessor.postProcessBeanFactory(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V" the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) of the current class, com/liferay/portal/spring/extender/internal/context/ModuleBeanFactoryPostProcessor, and its superclass loader (instance of org/apache/catalina/loader/WebappClassLoader), have different Class objects for the type org/springframework/beans/factory/config/ConfigurableListableBeanFactory used in the signature
    at com.liferay.portal.spring.extender.internal.context.ModuleApplicationContextRegistrator._createApplicationContext(ModuleApplicationContextRegistrator.java:138)
    at com.liferay.portal.spring.extender.internal.context.ModuleApplicationContextRegistrator.start(ModuleApplicationContextRegistrator.java:60)
    at sun.reflect.GeneratedMethodAccessor756.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.felix.dm.InvocationUtil.invokeMethod(InvocationUtil.java:111)
    at org.apache.felix.dm.InvocationUtil.invokeCallbackMethod(InvocationUtil.java:66)
    at org.apache.felix.dm.impl.ComponentImpl.invokeCallbackMethod(ComponentImpl.java:769)
    at org.apache.felix.dm.impl.ComponentImpl.invoke(ComponentImpl.java:760)
    at org.apache.felix.dm.impl.ComponentImpl.bindService(ComponentImpl.java:705)
    at org.apache.felix.dm.impl.ComponentImpl.access$400(ComponentImpl.java:54)
    at org.apache.felix.dm.impl.ComponentImpl$7.run(ComponentImpl.java:202)
    at org.apache.felix.dm.impl.SerialExecutor.runTask(SerialExecutor.java:137)
    at org.apache.felix.dm.impl.SerialExecutor.runTasks(SerialExecutor.java:119)
    at org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:85)
    at org.apache.felix.dm.impl.ComponentImpl.calculateStateChanges(ComponentImpl.java:252) …
Run Code Online (Sandbox Code Playgroud)

java classloader liferay-7

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

liferay-7 ×4

osgi ×2

portlet ×2

classloader ×1

gradle ×1

java ×1

javascript ×1

liferay ×1