0

我正在尝试对我的 portlet 的服务层进行一些修改(例如,在 service.xml 中的表中添加列或查找器)。无论我做什么,当我构建服务时一切都很好(没有错误),但是当我尝试部署或进行战争时,会出现许多错误。在这种情况下,我只是将一个新列(note2)添加到一个已经存在的表中

ESFShooterAffiliationChrono 类型的方法 getNote2() 未定义

或这个:

ESFShooterAffiliationChronoModelImpl 类型的方法 getNote2() 必须覆盖或实现超类型方法

我正在开发 Eclipse Luna 4.4.0、liferay IDE 3.1.2、Java JDK 1.7.0 67。我在 eclipse 和“ant.build.javac.source”“ant.build.javac”中都将 Compliance 设置为 1.7 .target" 到 build.properties 中的 1.7。

我认为服务构建器一定有问题。我尝试使用新的工作区和新的插件 SDK 重新开始,即使使用 6.2 GA6 但无济于事。我还尝试在进行服务构建之前删除所有生成的服务类,但没有成功。

你能给我一些关于如何解决这个问题的建议吗?

4

1 回答 1

0

最有可能的是,您有一些旧代码并嵌入到您的依赖项中。搜索以您的插件命名的 -service.jar,例如 your-portlet-service.jar。

当 your-portlet-service.jarWEB-INF/services 文件夹都在您的构建路径上时,也可能会发生这种情况。编译器和编辑器可能会选择不同的版本。当您通过 Ant 构建时,Ant 可能会选择第三种变体作为优先级。

检查您的 EclipseAnt 构建路径。

于 2018-06-26T12:15:13.053 回答