[英]Liferay Service Builder Not recognized function
我對我的服務生成器添加了一個新方法:
public IRRule ruleCreation()
throws SystemException, PortalException {
IRRule rule = new IRRuleImpl();
return rule;
}
從portlet類中識別出該方法(不顯示錯誤):
public class RulePortlet extends MVCPortlet{
public void addRule(ActionRequest request, ActionResponse response)
throws Exception {
ThemeDisplay themeDisplay =
(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
IRRule rule = IRRuleLocalServiceUtil.ruleCreation(); // This is The Method!!!!
rule.setCompanyId(themeDisplay.getCompanyId());
rule.setGroupId(themeDisplay.getScopeGroupId());
rule.setRuleName(ParamUtil.getString(request, "ruleName"));
rule.setRuleDescription(ParamUtil.getString(request, "ruleDescription"));
rule.setRuleFile(ParamUtil.getString(request, "ruleFile"));
ArrayList<String> errors = new ArrayList<String>();
if (RuleValidator.validateRule(rule, errors)) {
IRRuleLocalServiceUtil.addRule(rule,
themeDisplay.getUserId());
SessionMessages.add(request, "product-saved-successfully");
} else {
SessionErrors.add(request, "fields-required");
}
}
...
但是在測試此功能時,出現此錯誤引發了控制台...
java.lang.NoSuchMethodError: com.ent.oriol.inputrules.service.IRRuleLocalServiceUtil.ruleCreation()Lcom/ent/oriol/inputrules/model/IRRule;
那怎么可能? 我應該怎么做來解決這個問題? 在過去,我添加了其他功能,服務構建器(LocalServiceImpl類)無煩惱!
謝謝你的幫助,奧里奧爾
當你評論說,重啟的幫助下,這個問題很可能是得到了某種程度上緩存,也許在運行調試過程中,當服務被重建是沒有拿起造成servicebuilder類改變一些舊的代碼。
很難在事后告訴這一點 - 如果你能重現此,這將是有趣的,知道的情況下,例如IDE,測試裝置等,否則,恐怕,你必須把它作為一個毛刺矩陣。
Goto service.xml--->select Overview--->In the right corner build services option is there--->click that
如果在service.xml中看到任何更改,只需按照上述屏幕操作即可,我將輕松地對其進行糾正。在他的聲明中,他提到了服務構建器中所做的某些更改,這就是我給出解決方案的原因
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.