【问题标题】:Liferay Portal 6.2 Customise Calendar-Portlet - Error in view_calendar.jsp and view_calendar_resources.jspLiferay Portal 6.2 自定义日历-Portlet - view_calendar.jsp 和 view_calendar_resources.jsp 中的错误
【发布时间】:2015-10-10 21:40:42
【问题描述】:

我是 Liferay 的新手,我正在尝试自定义日历 portlet 以实现 2 路同步。我正在使用 Ant 进行构建。

以下是我到目前为止所遵循的步骤。

  1. 下载liferay-plugins-sdk-6.2-ce-ga4-20150416163831865.zip和 liferay-portal-tomcat-6.2-ce-ga4-20150416163831865.zip来自liferay 网站。
  2. 设置我的 Eclipse 并创建新的插件项目。
  3. 将..\tomcat-7.0.42\webapps\calendar-portlet的内容添加到 docroot 文件夹 ..\liferay-plugins-sdk-6.2\portlets\Appointment-portlet\docroot。

问题: 现在我收到编译时错误。以下是详细信息。

  1. 重复的局部变量editCalendarURL - 在view_calendar.jsp。这里 变量editCalendarURL 先赋值,再赋值 用过的 。所以,我找不到任何重复的问题。

  2. 重复的局部变量用户 - 在 view_calendar_resources.jsp 中。在此 jsp 文件中找不到变量“用户”。

我尝试进行 Ant 合并,但仍然收到错误:

构建文件:\liferay-plugins-sdk-6.2\portlets\Appointment-portlet\build.xml 无法获取资源 \liferay-plugins-sdk-6.2.ivy\ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar: java.util.zip.ZipException:打开 zip 文件时出错 [taskdef] 无法获取资源 \liferay-plugins-sdk-6.2.ivy\ivy-2.4.0.LIFERAY-PATCHED-1-SNAPSHOT.jar: [taskdef] java.util.zip.ZipException:打开 zip 文件时出错
[taskdef] 在 java.util.zip.ZipFile.open(Native Method) [taskdef] 在 java.util.zip.ZipFile.(Unknown Source) [taskdef] 在 java.util.zip.ZipFile.(Unknown Source) [taskdef] at java.util.jar.JarFile.(Unknown Source) [taskdef] at java.util.jar.JarFile.(Unknown Source) [taskdef] at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1006) [任务定义] 在 org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:149) [任务定义] 在 org.apache.tools.ant.AntClassLoader$ResourceEnumeration.(AntClassLoader.java:110) [任务定义] 在 org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:953) [任务定义] 在 org.apache.tools.ant.AntClassLoader.getNamedResources(AntClassLoader.java:922) [任务定义] 在 org.apache.tools.ant.loader.AntClassLoader5.getResources(AntClassLoader5.java:58) [任务定义] 在 org.apache.tools.ant.taskdefs.Definer.resourceToURLs(Definer.java:360) [任务定义] 在 org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:246)
[任务定义] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[taskdef] 在 sun.reflect.GeneratedMethodAccessor4.invoke(未知 来源)[taskdef] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
[taskdef] 在 java.lang.reflect.Method.invoke(未知来源)
[任务定义] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [taskdef] at org.apache.tools.ant.Task.perform(Task.java:348)
[taskdef] at org.apache.tools.ant.Target.execute(Target.java:435)
[任务定义] 在 org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:168) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.importResource(ImportTask.java:230) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.execute(ImportTask.java:162) [任务定义] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[taskdef] 在 sun.reflect.GeneratedMethodAccessor4.invoke(未知 来源)[taskdef] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
[taskdef] 在 java.lang.reflect.Method.invoke(未知来源)
[任务定义] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [taskdef] at org.apache.tools.ant.Task.perform(Task.java:348)
[taskdef] at org.apache.tools.ant.Target.execute(Target.java:435)
[任务定义] 在 org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:168) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.importResource(ImportTask.java:230) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.execute(ImportTask.java:162) [任务定义] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[taskdef] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)[taskdef] 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)
[taskdef] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知 来源)[taskdef] 在 java.lang.reflect.Method.invoke(未知 来源)[taskdef] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [taskdef] at org.apache.tools.ant.Task.perform(Task.java:348)
[taskdef] at org.apache.tools.ant.Target.execute(Target.java:435)
[任务定义] 在 org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:168) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.importResource(ImportTask.java:230) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.execute(ImportTask.java:162) [任务定义] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[taskdef] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)[taskdef] 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)
[taskdef] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知 来源)[taskdef] 在 java.lang.reflect.Method.invoke(未知 来源)[taskdef] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [taskdef] at org.apache.tools.ant.Task.perform(Task.java:348)
[taskdef] at org.apache.tools.ant.Target.execute(Target.java:435)
[任务定义] 在 org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:168) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.importResource(ImportTask.java:230) [任务定义] 在 org.apache.tools.ant.taskdefs.ImportTask.execute(ImportTask.java:162) [任务定义] 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[taskdef] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)[taskdef] 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)
[taskdef] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知 来源)[taskdef] 在 java.lang.reflect.Method.invoke(未知 来源)[taskdef] 在 org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [taskdef] at org.apache.tools.ant.Task.perform(Task.java:348)
[taskdef] at org.apache.tools.ant.Target.execute(Target.java:435)
[任务定义] 在 org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:179) [任务定义] 在 org.eclipse.ant.internal.launching.remote.InternalAntRunner.parseBuildFile(InternalAntRunner.java:215) [任务定义] 在 org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:429) [任务定义] 在 org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:139) [taskdef] 无法从资源加载定义 org/apache/ivy/ant/antlib.xml。找不到。

构建失败 \liferay-plugins-sdk-6.2\portlets\Appointment-portlet\build.xml:5: 执行此行时发生以下错误: \liferay-plugins-sdk-6.2\portlets\build-common-portlet.xml:5: 执行此行时发生以下错误: \liferay-plugins-sdk-6.2\build-common-plugin.xml:5:以下 执行此行时发生错误: \liferay-plugins-sdk-6.2\build-common.xml:60:以下错误 执行此行时发生: \liferay-plugins-sdk-6.2\build-common-ivy.xml:607:以下错误 执行此行时发生: \liferay-plugins-sdk-6.2\build-common-ivy.xml:518:以下错误 执行此行时发生: \liferay-plugins-sdk-6.2\build-common-ivy.xml:545:问题:未能 创建任务或键入 antlib:org.apache.ivy.ant:settings 原因:名称 未定义。行动:检查拼写。行动:检查任何 已声明自定义任务/类型。行动:检查任何 / 声明已经发生。没有类型或 任务已在此命名空间中定义

这似乎是一个 antlib 声明。行动:检查 实现库存在于以下之一中: -E:\eclipse\plugins\org.apache.ant_1.9.2.v201404171502\lib -C:\Users\Abhishek.ant\lib -a 使用 -lib 参数在命令行中添加的目录

总时间:4秒

我已经尝试安装 liferay/portal/plugin-sdk 很多次,但都没有实现。

【问题讨论】:

  • 回复了...有效吗?

标签: eclipse jsp liferay-6.2


【解决方案1】:

将 ..\tomcat-7.0.42\webapps\calendar-portlet 的内容添加到 docroot 文件夹 ..\liferay-plugins-sdk-6.2\portlets\Appointment-portlet\docroot。

我没有使用过这种方式,甚至不确定,但可能这不是导入和自定义任何 portlet 的方式。相反,您很可能需要使用 Hook 来执行您想要实现的目标。 如果您是新手并且想要实现这一目标,那么我建议您通过development guide for Hook。 完成此操作后,您可以在 Liferay 论坛上找到各种主题,例如 this 和 this 以获得更多帮助。

HTH!

谢谢。

【讨论】:

    猜你喜欢
    • 2014-01-26
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2014-03-21
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    相关资源
    最近更新 更多