簡體   English   中英

Liferay Service Builder無法識別的功能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM